=== Simplicity SEO Audit ===
Contributors: simplicitygr
Tags: seo, audit, seo audit, seo score, site health
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 2.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Ειλικρινές SEO audit για WordPress: 200 σελίδες με πραγματικό rendered HTML, όχι shortcuts στη βάση. Γρήγορο, σταθερό, χωρίς φόρτωμα στον server.

== Περιγραφή ==

Το Simplicity SEO Audit σαρώνει το WordPress site σας και σας δίνει ένα ξεκάθαρο SEO score με συγκεκριμένες, εφαρμόσιμες συστάσεις. Δεν χρειάζεται τεχνική γνώση: εγκαταστήστε, σαρώστε και δείτε ακριβώς τι πρέπει να φτιαχτεί.

= Γιατί 200 σελίδες; =

Σαρώνουμε έως 200 σελίδες σκόπιμα, όχι επειδή δεν μπορούμε περισσότερο.

Κάθε σελίδα φορτώνεται ως live HTML, όπως ακριβώς τη βλέπει η Google: theme, page builders, WooCommerce templates, resolved meta από SEO plugins. Αυτό είναι ακριβές, αλλά βαρύ. Ένα full crawl χιλιάδων σελίδων μέσα στο WordPress θα επιβράδυνε ή θα έπεφτε ο server στον περισσότερο hosting.

Οι 200 σελίδες είναι αναλογικό τυχαίο δείγμα από τα content types σου. Παίρνεις αξιόπιστη εικόνα SEO σε 1–3 λεπτά, χωρίς να γονατίσει ο server.

Άλλα audit plugins λένε «unlimited». Συχνά σημαίνει ανάγνωση μόνο από τη βάση, όχι την πραγματική σελίδα. Εμείς διαλέξαμε ακρίβεια αντί για marketing.

= Τι μας ξεχωρίζει =

* **Πραγματικό rendered HTML**, όχι έλεγχοι μόνο στη βάση
* **Σταθερό scan** σε κανονικό WordPress hosting (συνήθως 1–3 λεπτά)
* **WooCommerce aware** scoring (products, categories, utility pages εκτός)
* **Δουλεύει με Yoast, Rank Math, SEOPress** (διαβάζει το output τους, δεν τους αντικαθιστά)
* **Ειλικρινές scope**: μόνο SEO audit. Χωρίς ψεύτικες υποσχέσεις για «ολόκληρο το site».

= Τι κάνει =

* Σαρώνει έως 200 σελίδες (άρθρα, σελίδες, προϊόντα και taxonomy terms) ως αναλογικό δείγμα: πραγματικό HTML ανά σελίδα, σχεδιασμένο να ολοκληρώνεται σε λεπτά χωρίς φόρτωμα στον server
* Εκτελεί 17 ελέγχους SEO σε περιεχόμενο και τεχνική υγεία
* Φορτώνει το rendered HTML κάθε σελίδας (όπως το βλέπει η Google), όχι μόνο το περιεχόμενο της βάσης
* Δίνει σταθμισμένο score από 0 έως 100 με βαθμολογία (A έως F)
* Δείχνει συγκεκριμένα προβλήματα με τα ακριβή URLs που χρειάζονται προσοχή
* Εξάγει καθαρό HTML report για εκτύπωση ή αποστολή σε πελάτες
* Δουλεύει με WooCommerce, Yoast SEO, Rank Math, SEOPress και όλους τους page builders

= 17 Έλεγχοι SEO =

**Έλεγχοι Περιεχομένου (10):**

1. **Title Tag** (βάρος: 8) — Ελέγχει ότι κάθε σελίδα έχει τίτλο 30-60 χαρακτήρων. Σημειώνει κενούς, πολύ κοντούς και πολύ μακριούς τίτλους.
2. **Meta Description** (βάρος: 7) — Ελέγχει meta descriptions 70-160 χαρακτήρων. Σημειώνει ελλιπείς, πολύ κοντές και πολύ μακριές περιγραφές.
3. **Headings H1** (βάρος: 6) — Επαληθεύει ότι κάθε σελίδα έχει ακριβώς ένα H1 tag και ελέγχει την ιεραρχία headings (π.χ. δεν πηδάει από H1 σε H3).
4. **Image Alt Text** (βάρος: 5) — Μετράει εικόνες χωρίς alt text σε κάθε σελίδα. Το score είναι ο μέσος όρος κάλυψης alt text.
5. **Internal Links** (βάρος: 5) — Ελέγχει ότι κάθε σελίδα έχει τουλάχιστον ένα εσωτερικό link στο περιεχόμενο.
6. **Thin Content** (βάρος: 4) — Σημειώνει σελίδες με λιγότερες από 300 λέξεις (posts/pages) ή 30 λέξεις (taxonomy terms). Υποστηρίζει ελληνικά και όλες τις Unicode γλώσσες.
7. **Duplicate Titles** (βάρος: 4) — Βρίσκει σελίδες με πανομοιότυπα title tags.
8. **Duplicate Descriptions** (βάρος: 4) — Βρίσκει σελίδες με πανομοιότυπα meta descriptions.
9. **Canonical Tag** (βάρος: 3) — Ελέγχει ότι κάθε σελίδα έχει canonical URL tag.
10. **OG/Twitter Tags** (βάρος: 3) — Ελέγχει για Open Graph και Twitter Card meta tags.

**Τεχνικοί Έλεγχοι (7):**

1. **SSL/HTTPS** (βάρος: 4) — Επαληθεύει ότι το site χρησιμοποιεί HTTPS.
2. **XML Sitemap** (βάρος: 3) — Ελέγχει για XML sitemap στις τυπικές τοποθεσίες.
3. **Robots.txt** (βάρος: 3) — Ελέγχει για αρχείο robots.txt.
4. **SEO Plugin** (βάρος: 2) — Ανιχνεύει αν είναι ενεργό Yoast, Rank Math, SEOPress ή άλλο SEO plugin.
5. **Schema Markup** (βάρος: 2) — Ελέγχει την αρχική σελίδα για δομημένα δεδομένα (JSON-LD).
6. **PHP/WP Version** (βάρος: 2) — Ελέγχει για ξεπερασμένες εκδόσεις PHP ή WordPress.
7. **Permalink Structure** (βάρος: 2) — Επαληθεύει ότι χρησιμοποιούνται pretty permalinks (όχι ?p=123).

= Πώς Λειτουργεί το Score =

Κάθε έλεγχος παράγει score από 0 έως 100. Οι έλεγχοι περιεχομένου χρησιμοποιούν αναλογική βαθμολόγηση — για παράδειγμα, αν το 80% των σελίδων σας έχει σωστούς τίτλους, το Title Tag score είναι περίπου 80. Σελίδες με μικρά προβλήματα (π.χ. ελαφρώς κοντός τίτλος) μετράνε ως μισός βαθμός, όχι μηδέν.

Το τελικό score είναι σταθμισμένος μέσος όρος και των 17 ελέγχων. Οι έλεγχοι που μετράνε περισσότερο για το SEO (όπως Title Tags, βάρος 8) επηρεάζουν περισσότερο το τελικό score από λιγότερο κρίσιμους ελέγχους (όπως Permalink Structure, βάρος 2).

**Κλίμακα βαθμολογίας:**
* A = 90-100 (Εξαιρετικό)
* B = 80-89 (Καλό)
* C = 65-79 (Χρειάζεται βελτίωση)
* D = 50-64 (Αδύναμο)
* F = 0-49 (Κρίσιμα προβλήματα)

Score 100 σημαίνει μηδέν προβλήματα. Αν υπάρχει έστω και ένα πρόβλημα, το μέγιστο score είναι 99.

= Taxonomy-Aware Scoring =

Δεν είναι όλες οι σελίδες ίσες. Το plugin χρησιμοποιεί σύστημα επιπέδων για τα taxonomy terms:

* **Υψηλή προτεραιότητα** (πλήρες βάρος): Posts, pages, κατηγορίες προϊόντων — οι κύριες landing pages σας
* **Μεσαία προτεραιότητα** (μισό βάρος): Tags, product tags, custom taxonomies — βοηθητικές σελίδες
* **Χαμηλή προτεραιότητα** (μόνο ενημέρωση): Product attributes (π.χ. χρώμα, μέγεθος) — σελίδες φιλτραρίσματος που τυπικά δεν πρέπει να κατατάσσονται

Τα χαμηλής προτεραιότητας terms εμφανίζονται για ενημέρωση αλλά δεν επηρεάζουν το score σας. Αυτό αποτρέπει τα product attributes από το να ρίχνουν άδικα τη βαθμολογία SEO.

Οι developers μπορούν να προσαρμόσουν τα επίπεδα με το `msa_taxonomy_tier` filter.

= Ανάλυση Rendered HTML =

Σε αντίθεση με τα περισσότερα lightweight SEO plugins που διαβάζουν μόνο το περιεχόμενο της βάσης, το Simplicity SEO Audit φορτώνει το πραγματικό rendered HTML κάθε σελίδας — ακριβώς αυτό που βλέπει η Google. Αυτό σημαίνει:

* Τα H1 tags που προσθέτει το theme εντοπίζονται
* Το περιεχόμενο page builders (Elementor, Divi, WPBakery) αναλύεται
* Τα shortcodes μετρούν στο word count
* Τα navigation και footer στοιχεία αφαιρούνται — αναλύεται μόνο η κύρια περιοχή περιεχομένου

Αν μια σελίδα δεν μπορεί να φορτωθεί (π.χ. προστατευμένη με κωδικό), το plugin χρησιμοποιεί εναλλακτικά το περιεχόμενο της βάσης.

= REST API =

Το plugin παρέχει REST API endpoint για εξωτερικές ενσωματώσεις:

`GET /wp-json/seo-audit/v1/stats?token=YOUR_TOKEN`

Το token δημιουργείται αυτόματα κατά την ενεργοποίηση. Το endpoint επιστρέφει URL site, αριθμό σελίδων, σύνοψη audit, scores ανά έλεγχο και πληροφορίες τιμολόγησης. Είναι μόνο για ανάγνωση και χρησιμοποιεί timing-safe σύγκριση token.

= Απόρρητο =

* Κανένα δεδομένο δεν στέλνεται σε εξωτερικούς servers
* Η σάρωση γίνεται εξ ολοκλήρου στον δικό σας server
* Το REST API είναι προστατευμένο με token και μόνο για ανάγνωση
* Τα αποτελέσματα αποθηκεύονται μόνο στη βάση δεδομένων WordPress
* Όλα τα δεδομένα διαγράφονται όταν απεγκαταστήσετε (διαγράψετε) το plugin

= Third-Party Services =

This plugin connects to [seo.simplicity.gr](https://seo.simplicity.gr) in the following ways:

1. **CTA Links**: The plugin dashboard includes a "Get the Full Report" link that directs you to seo.simplicity.gr. The link includes your site URL and a locally-generated API token as URL parameters.

2. **REST API Endpoint**: The plugin registers a REST API endpoint (`/wp-json/seo-audit/v1/stats`) that allows seo.simplicity.gr to retrieve your scan summary (score, grade, number of checks, number of issues, and total page count). Access requires a valid API token. No page content, URLs, or personal data is transmitted.

* Service: [seo.simplicity.gr](https://seo.simplicity.gr)
* Provider: [Simplicity](https://www.simplicity.gr)
* Terms of Service: [https://seo.simplicity.gr/terms.html](https://seo.simplicity.gr/terms.html)
* Privacy Policy: [https://seo.simplicity.gr/privacy-policy.html](https://seo.simplicity.gr/privacy-policy.html)

== Εγκατάσταση ==

1. Ανεβάστε τον φάκελο `simplicity-seo-audit` στο `/wp-content/plugins/`
2. Ενεργοποιήστε το plugin μέσα από το μενού 'Πρόσθετα' στο WordPress
3. Πηγαίνετε στο "Simplicity SEO Audit" στο μενού του admin
4. Πατήστε "Scan" και περιμένετε τα αποτελέσματα (τυπικά 1-3 λεπτά ανάλογα με το μέγεθος του site)

Ή εγκαταστήστε μέσω ZIP:

1. Πηγαίνετε στο Πρόσθετα > Νέο Πρόσθετο > Μεταφόρτωση Πρόσθετου
2. Επιλέξτε το αρχείο `simplicity-seo-audit.zip`
3. Πατήστε "Εγκατάσταση" και μετά "Ενεργοποίηση"

== Συχνές Ερωτήσεις ==

= Πόσες σελίδες σαρώνει; =

Έως 200 σελίδες, με αναλογικό δείγμα ανά τύπο περιεχομένου. Αν το site σας έχει 600 προϊόντα, 30 σελίδες και 20 άρθρα, το δείγμα αντικατοπτρίζει αυτές τις αναλογίες.

= Γιατί η σάρωση παίρνει μερικά λεπτά; =

Το plugin φορτώνει το rendered HTML κάθε σελίδας (έως 200 HTTP requests στο ίδιο σας το site). Αυτό κάνει τα αποτελέσματα ακριβή — βλέπουμε αυτό που βλέπει η Google. Τυπικός χρόνος σάρωσης: 1-3 λεπτά.

= Δουλεύει με WooCommerce; =

Ναι. Προϊόντα, κατηγορίες προϊόντων, tags προϊόντων και product attributes υποστηρίζονται με κατάλληλα επίπεδα βαθμολόγησης.

= Δουλεύει με page builders; =

Ναι. Επειδή φορτώνουμε το rendered HTML, το περιεχόμενο από Elementor, Divi, WPBakery, Oxygen, Bricks και άλλους page builders αναλύεται πλήρως.

= Γιατί το thin content score μου διαφέρει από άλλα SEO plugins; =

Το Simplicity SEO Audit μετράει λέξεις στο rendered HTML content area, όχι μόνο στο post_content της βάσης. Αυτό περιλαμβάνει περιγραφές προϊόντων, σχετικά προϊόντα και άλλο template-generated περιεχόμενο. Το threshold είναι 300 λέξεις για posts/pages και 30 λέξεις για taxonomy terms.

= Η απεγκατάσταση αφήνει δεδομένα πίσω; =

Όχι. Όταν διαγράψετε (όχι απλά απενεργοποιήσετε) το plugin, όλα τα scan results, tokens και transients αφαιρούνται από τη βάση δεδομένων.

= Μπορώ να προσαρμόσω ποιες taxonomies είναι υψηλής/μεσαίας/χαμηλής προτεραιότητας; =

Ναι. Χρησιμοποιήστε το `msa_taxonomy_tier` filter:

`add_filter( 'msa_taxonomy_tier', function( $tier, $taxonomy, $post ) {
    if ( $taxonomy === 'brand' ) return 'high';
    return $tier;
}, 10, 3 );`

== Changelog ==

= 2.0.0 =
* Πλήρης Επανασχεδιασμός UI: σύγχρονο dashboard με καθαρή αρχιτεκτονική καρτών, απαλά χρωματιστά περιγράμματα και διακριτικές σκιές
* Διαδραστική Σάρωση σε Πραγματικό Χρόνο: ανανεωμένος batch controller με κινούμενη μπάρα προόδου και ζωντανά μηνύματα κατάστασης
* Φιλτράρισμα Σφαλμάτων: άμεσο φιλτράρισμα σε Critical Errors, Warnings και Passed checks απευθείας από την κάρτα Site Health
* Αναλυτικό Συρτάρι Σελίδων: πτυσσόμενο drawer για κάθε πρόβλημα με άμεσους συνδέσμους "Edit in WP" και "View"
* Εξαγωγή σε CSV: δυνατότητα εξαγωγής πλήρους αναφοράς σε CSV με κωδικοποίηση UTF-8 BOM για άριστη ανάγνωση από το Microsoft Excel
* Νέο HTML Report: η ανεξάρτητη αναφορά εκτύπωσης/εξαγωγής ακολουθεί το σύγχρονο design του προσθέτου
* Διόρθωση Permalinks: πλήρης υποστήριξη Apache rewrite rules για απρόσκοπτη προβολή των σελίδων
* Βελτιστοποίηση Αριστερού Μενού: διακριτικό εικονίδιο 20x20 και τίτλος "Simplicity SEO" σε μία γραμμή
* Βελτιωμένος Αλγόριθμος Σκορ: σταθμισμένος μέσος όρος βασισμένος στις διεθνείς πρακτικές των μεγαλύτερων SEO εργαλείων

= 1.1.0 =
* Ανάλυση rendered HTML — οι σελίδες φορτώνονται όπως τις βλέπει η μηχανή αναζήτησης, εντοπίζοντας H1 του theme, περιεχόμενο page builders και shortcodes
* Taxonomy-aware tiered scoring — τα product attributes δεν επηρεάζουν το score, τα tags μετράνε μισό, οι κατηγορίες πλήρες βάρος
* Διόρθωση scoring σε ratio-based υπολογισμό — τα scores αντικατοπτρίζουν πλέον το πραγματικό ποσοστό σελίδων με προβλήματα
* Διόρθωση Unicode word counting — ελληνικά και άλλες μη-λατινικές γλώσσες μετριούνται πλέον σωστά
* Κουμπί εξαγωγής HTML report στο dashboard
* Μηνύματα "X σελίδες χρειάζονται βελτίωση" σε κάθε έλεγχο
* Score cap στο 99 όταν υπάρχουν προβλήματα — 100 σημαίνει αληθινά τέλειο
* Απόκρυψη admin notices άλλων plugins από το dashboard
* Προσθήκη uninstall.php στο zip για καθαρή διαγραφή δεδομένων
* Βελτιωμένη εξαγωγή content area με semantic HTML selectors
* Οι έλεγχοι heading και internal links παραλείπουν τα taxonomy terms
* Ο έλεγχος duplicates παραλείπει τα χαμηλής προτεραιότητας terms

= 1.0.0 =
* Αρχική κυκλοφορία
* 17 έλεγχοι SEO (10 περιεχομένου + 7 τεχνικοί)
* Σάρωση σε 4 batches για έως 200 σελίδες
* Σταθμισμένη βαθμολόγηση με letter grades
* Υποστήριξη WooCommerce και taxonomy terms
* REST API με token authentication
* Ενσωμάτωση Yoast SEO, Rank Math και SEOPress
* Αναλογικό δείγμα ανά τύπο περιεχομένου
* Φιλτράρισμα noindex σελίδων
