Τι κρύβεται κάτω από το καπό των μεγαλύτερων ελληνικών ενημερωτικών ιστοσελίδων;

Τι κρύβεται κάτω από το καπό των μεγαλύτερων ελληνικών ενημερωτικών ιστοσελίδων;
Published
Reading time
6.9 min

WordPress, Drupal, Joomla ή κάποια εξωτική τεχνολογία που κοστίζει όσο ο κρατικός προϋπολογισμός της Μολδαβίας; Αναρωτήθηκα πάνω σε τι τρέχουν οι μεγαλύτερες ελληνικές ενημερωτικές ιστοσελίδες και αποφάσισα να το ψάξω. Όχι να ρωτήσω το ChatGPT και να δημοσιεύσω ό,τι μου απαντήσει. Να βάλω χέρι στον κώδικα και να δω τι πραγματικά υπάρχει εκεί μέσα.

Στο μικροσκόπιο μπήκαν 24 γνωστές ελληνικές ενημερωτικές ιστοσελίδες. Το Πρώτο Θέμα, το Newsit, το News 24/7, το Newsbeast, το iefimerida, το in.gr, ο ΣΚΑΪ, η Καθημερινή, το CNN Greece, το Βήμα, τα Νέα, το LiFO, το Sport24, το Gazzetta και αρκετές ακόμη. Ιστοσελίδες που επισκέπτονται καθημερινά εκατοντάδες χιλιάδες άνθρωποι. Αλλά τι υπάρχει πίσω από την αρχική τους σελίδα; Χρησιμοποιούν έτοιμα CMS ή έχουν αναπτύξει δικά τους συστήματα; Και πόσο διαφορετική είναι τελικά η τεχνολογία τους;

Για την επιλογή τους χρησιμοποίησα ως αφετηρία τις κατατάξεις του Similarweb και του Semrush. Μετά επιστράτευσα το PowerShell. Έγραψα ένα μικρό script που χρησιμοποιεί το curl για να επισκεφτεί και τις 24 ιστοσελίδες, να ακολουθήσει τις ανακατευθύνσεις και να αποθηκεύσει τον HTML κώδικα καθεμιάς σε ξεχωριστό αρχείο.

Το αποτέλεσμα ήταν 24 αρχεία έτοιμα για ανατομία. Χωρίς ειδικό λογισμικό, χωρίς πρόσβαση στους servers και φυσικά χωρίς να παραβιάσω τίποτα. Ο κώδικας που επιστρέφει μια ιστοσελίδα δεν αποκαλύπτει όλα τα μυστικά της, αφήνει όμως αρκετά αποτυπώματα για να αναγνωρίσουμε CMS, frameworks, βιβλιοθήκες και άλλες τεχνολογίες.

Αυτό είναι το PowerShell script που χρησιμοποίησα

# Download the server-side HTML of 24 Greek news websites.
# Requires curl.exe (included with Windows 10/11).

$sites = @(
    'protothema.gr'
    'newsit.gr'
    'news247.gr'
    'newsbeast.gr'
    'iefimerida.gr'
    'newsbomb.gr'
    'in.gr'
    'skai.gr'
    'kathimerini.gr'
    'ertnews.gr'
    'lifo.gr'
    'naftemporiki.gr'
    'cnn.gr'
    'tovima.gr'
    'tanea.gr'
    'capital.gr'
    'zougla.gr'
    'efsyn.gr'
    'dnews.gr'
    'protagon.gr'
    'sport24.gr'
    'gazzetta.gr'
    'pronews.gr'
    'bankingnews.gr'
)

$output = Join-Path $PSScriptRoot 'news-html'
New-Item -ItemType Directory -Force -Path $output | Out-Null

$success = 0
$failed = @()

foreach ($site in $sites) {
    $name = $site -replace '\.gr$', ''
    $file = Join-Path $output "$name.txt"
    $downloaded = $false

    # These two websites returned HTTP 403 without www in our test.
    # For other websites, try the original hostname first.
    if ($site -in @('skai.gr', 'kathimerini.gr')) {
        $hostsToTry = @("www.$site", $site)
    }
    else {
        $hostsToTry = @($site, "www.$site")
    }

    foreach ($hostname in $hostsToTry) {
        $url = "https://$hostname/"
        Write-Host "Fetching $url ..." -ForegroundColor Cyan

        curl.exe `
            --location `
            --compressed `
            --silent `
            --show-error `
            --fail `
            --connect-timeout 8 `
            --max-time 20 `
            --user-agent 'Mozilla/5.0' `
            --output $file `
            $url

        if ($LASTEXITCODE -eq 0 -and
            (Test-Path -LiteralPath $file) -and
            (Get-Item -LiteralPath $file).Length -gt 0) {
            $downloaded = $true
            $success++
            Write-Host "Saved: $name.txt ($hostname)" -ForegroundColor Green
            break
        }

        Remove-Item -LiteralPath $file -Force -ErrorAction SilentlyContinue
        Write-Warning "Failed: $hostname. Trying next hostname if available."
    }

    if (-not $downloaded) {
        $failed += $site
        Write-Warning "Could not download: $site"
    }

    Start-Sleep -Seconds 1
}

Write-Host "`nCompleted: $success / $($sites.Count)" -ForegroundColor Green
Write-Host "Output: $output"
if ($failed.Count -gt 0) {
    Write-Warning "Failed sites: $($failed -join ', ')"
}

# These files contain raw HTTP HTML, not browser-rendered DOM.
# HTTP 200 can also return a bot-protection/consent page; inspect content.

Με τα 24 αρχεία συγκεντρωμένα, ήρθε η ώρα να δούμε τι ψάρια πιάσαμε. Με τη βοήθεια τεχνητής νοημοσύνης ανέλυσα τον HTML κώδικα κάθε ιστοσελίδας, αναζητώντας χαρακτηριστικά αποτυπώματα από CMS, JavaScript frameworks, themes, plugins και άλλες τεχνολογίες.

Και εδώ άρχισαν τα ενδιαφέροντα. Το WordPress εμφανίζεται σχεδόν παντού, το Joomla αρνείται πεισματικά να πεθάνει, ενώ ορισμένες ιστοσελίδες χρησιμοποιούν τεχνολογίες που δεν περίμενα να συναντήσω. Το Πρώτο Θέμα, για παράδειγμα, έχει τη δική του ιστορία, ενώ το Newsbeast έκρυβε μια ιδιαίτερα ενδιαφέρουσα έκπληξη.

Ακολουθεί η πλήρης τεχνική αναφορά, με τις 24 ιστοσελίδες, τις τεχνολογίες που εντοπίστηκαν και τα συγκεκριμένα στοιχεία που οδήγησαν σε κάθε συμπέρασμα. Όπου τα στοιχεία δεν επαρκούν για ασφαλή αναγνώριση, το επισημαίνω. Δεν θα το κάνουμε κατάστημα χαρτορίχτρας εδώ.

Πλήρης τεχνική αναφορά: 24 ελληνικές ενημερωτικές ιστοσελίδες

Έλεγχος: 22/10/2026. Πηγή: αρχεία news-html/*.txt (αρχικό HTML από curl.exe, όχι runtime DOM).

Προσοχή: Ένα public HTML snapshot δεν αποκαλύπτει αναγκαστικά το backend CMS, το πραγματικό runtime, τη βάση δεδομένων ή το deployment. Οι αναφερόμενες εκδόσεις στα generator tags είναι αυτοματοποιημένες και δεν αποτελούν αξιόπιστη επιβεβαίωση patch-level.

1. protothema.gr

  • Εκτίμηση: Netvolution (ATCOM), ASP.NET

  • Βεβαιότητα: Υψηλή (HTML + επίσημη δημοσίευση ATCOM)

  • Πραγματικό ίχνος στο HTML: /Content/bundles/site.min.js

  • Σχόλιο: Στον HTML υπάρχει και ο δημιουργός «Atcom». Η ATCOM τεκμηριώνει Netvolution 5.5 σε ανακατασκευή του 2018. Η σημερινή έκδοση δεν μπορεί να εξακριβωθεί.

2. newsit.gr

  • Εκτίμηση: WordPress

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: /wp-includes/js/jquery/jquery.min.js

  • Σχόλιο: Επιπλέον assets κάτω από /wp-content/plugins/ και /wp-content/themes/.

3. news247.gr

  • Εκτίμηση: WordPress

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: /wp-content/themes/btw_newsportal/

  • Σχόλιο: Επιπλέον /wp-includes/js/jquery/jquery.min.js και /wp-json/.

4. newsbeast.gr

  • Εκτίμηση: Astro (frontend). WordPress (CMS από ιστορικό case study, όχι ορατό στο HTML)

  • Βεβαιότητα: Πολύ υψηλή για Astro, μη επιβεβαιωμένο σήμερα για WordPress backend

  • Πραγματικό ίχνος στο HTML: /_astro/hoisted.CXjV3ZZz.js

  • Σχόλιο: Χιλιάδες data-astro-cid και astro-island. Το 2021 περιγράφηκε WordPress ως backend, αλλά το αρχείο HTML δεν αποδεικνύει την τωρινή του χρήση.

5. iefimerida.gr

  • Εκτίμηση: Drupal 10

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: content="Drupal 10 (https://www.drupal.org)"

  • Σχόλιο: Επιπλέον Drupal εικόνες /sites/default/files/styles/ και assets /themes/on/.

6. newsbomb.gr

  • Εκτίμηση: Joomla

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: content="Joomla! - Open Source Content Management"

  • Σχόλιο: Επιπλέον /media/system/js/core.min.js.

7. in.gr

  • Εκτίμηση: WordPress

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: /wp-includes/js/jquery/jquery.min.js

  • Σχόλιο: Επιπλέον /wp-content/cache/autoptimize/.

8. skai.gr

  • Εκτίμηση: Drupal 10

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: content="Drupal 10 (https://www.drupal.org)"

  • Σχόλιο: Επιπλέον /themes/custom/skaigr/ και /modules/custom/.

9. kathimerini.gr

  • Εκτίμηση: WordPress

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: /wp-content/themes/nxcode/

  • Σχόλιο: Πολλαπλά site-owned /wp-content/ assets.

10. ertnews.gr

  • Εκτίμηση: WordPress

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: /wp-content/themes/generatepress_child/

  • Σχόλιο: Χρησιμοποιεί child theme GeneratePress.

11. lifo.gr

  • Εκτίμηση: Drupal 9

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: content="Drupal 9 (https://www.drupal.org)"

  • Σχόλιο: Drupal /sites/default/files/ και Twig debug templates. Τα wp-content αφορούν τρίτο site/εικόνες, όχι το κύριο CMS.

12. naftemporiki.gr

  • Εκτίμηση: WordPress

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: /wp-content/plugins/newspaper-frontpage/

  • Σχόλιο: Επιπλέον /wp-includes/ και /wp-json/.

13. cnn.gr

  • Εκτίμηση: Joomla

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: content="Joomla! - Open Source Content Management"

  • Σχόλιο: Μικρός αριθμός άλλων αναγνωρίσιμων Joomla paths λόγω bundled assets.

14. tovima.gr

  • Εκτίμηση: WordPress

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: /wp-content/themes/whsk_tovima.gr/

  • Σχόλιο: Εμφανίζεται σε πάρα πολλούς πόρους της κεντρικής σελίδας.

15. tanea.gr

  • Εκτίμηση: WordPress

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: /wp-content/themes/whsk_taneagr/

  • Σχόλιο: Επιπλέον /wp-includes/ και plugins.

16. capital.gr

  • Εκτίμηση: ASP.NET / MVC (ένδειξη), CMS μη προσδιορισμένο

  • Βεβαιότητα: Υψηλή για τεχνολογική οικογένεια, άγνωστο CMS

  • Πραγματικό ίχνος στο HTML: /bundles2017/siteJs

  • Σχόλιο: Πρόσθετες ενδείξεις /Scripts2017/, CAPITALMVC.QuotesUpdater και /api/quotes/.

17. zougla.gr

  • Εκτίμηση: WordPress (γεννήτρια δηλώνει 6.2.2)

  • Βεβαιότητα: Πολύ υψηλή για CMS

  • Πραγματικό ίχνος στο HTML: content="WordPress 6.2.2"

  • Σχόλιο: Η εκδοχή generator δεν αποτελεί από μόνη της εγγύηση για την πραγματική patched έκδοση του production backend.

18. efsyn.gr

  • Εκτίμηση: WordPress

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: /wp-content/themes/efsyn/

  • Σχόλιο: Επιπλέον /wp-includes/, /wp-json/.

19. dnews.gr

  • Εκτίμηση: Joomla

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: content="Joomla! - Open Source Content Management"

  • Σχόλιο: Επιπλέον /templates/ και /media/system/.

20. protagon.gr

  • Εκτίμηση: WordPress

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: /wp-content/themes/protagon.grv2/

  • Σχόλιο: Επιπλέον meta generator WPBakery Page Builder for WordPress.

21. sport24.gr

  • Εκτίμηση: WordPress

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: /wp-content/themes/btw_newsportal/

  • Σχόλιο: Ίδιο όνομα WordPress theme με το News 24/7.

22. gazzetta.gr

  • Εκτίμηση: Drupal 9

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: content="Drupal 9 (https://www.drupal.org)"

  • Σχόλιο: Επιπλέον /sites/default/files/, /modules/contrib/, drupalSettings.

23. pronews.gr

  • Εκτίμηση: WordPress

  • Βεβαιότητα: Πολύ υψηλή

  • Πραγματικό ίχνος στο HTML: /wp-content/themes/whsk_pronewsgr/

  • Σχόλιο: Επιπλέον /wp-includes/.

24. bankingnews.gr

  • Εκτίμηση: Joomla/K2 (ισχυρή ένδειξη)

  • Βεβαιότητα: Υψηλή ένδειξη, όχι άμεση τρέχουσα επιβεβαίωση

  • Πραγματικό ίχνος στο HTML: /media/k2/items/cache/

  • Σχόλιο: 141 αναφορές σε ιστορικά αρχεία K2, extension του Joomla. Δεν υπάρχει meta generator και μπορεί να έχει διατηρηθεί legacy media.

Συμπεράσματα

Αν περίμενες να ανακαλύψω ότι οι μεγαλύτερες ελληνικές ενημερωτικές ιστοσελίδες λειτουργούν με κάποια εξωτική τεχνολογία που αναπτύχθηκε στα υπόγεια της NASA, μάλλον θα απογοητευτείς.

Από τις 24 ιστοσελίδες, στις 20 εντόπισα με πολύ μεγάλη βεβαιότητα κάποιο από τα τρία γνωστά CMS: 13 WordPress, 4 Drupal και 3 Joomla. Στο Bankingnews υπάρχουν επίσης ισχυρές ενδείξεις για Joomla, χωρίς όμως οριστική επιβεβαίωση.

Η PHP, λοιπόν, όχι μόνο δεν πέθανε, αλλά εξακολουθεί να σηκώνει ένα σημαντικό κομμάτι της ελληνικής ενημέρωσης. Υπάρχουν φυσικά και εξαιρέσεις. Το Πρώτο Θέμα με το Netvolution της ATCOM, το Capital με τεχνολογίες ASP.NET και το Newsbeast με Astro στο frontend.

Το σημαντικότερο συμπέρασμα, όμως, είναι άλλο. Η επιλογή ενός CMS δεν καθορίζει από μόνη της την ταχύτητα, την ασφάλεια ή την αξιοπιστία μιας ιστοσελίδας. Αυτά εξαρτώνται από την αρχιτεκτονική, την ποιότητα του κώδικα, τις υποδομές και τη συντήρηση. Άλλωστε, από τον δημόσιο HTML κώδικα μπορούμε να αναγνωρίσουμε πολλές τεχνολογίες, όχι όμως να επιθεωρήσουμε ολόκληρο το σύστημα.

Τελικά, δεν χρειάζεται να ανακαλύψεις ξανά τον τροχό για να φτιάξεις μια μεγάλη ιστοσελίδα. Χρειάζεται να ξέρεις τι κάνεις με τον τροχό που ήδη υπάρχει. Και κυρίως να μην ξεχάσεις να του βάλεις ρουλεμάν.

Αυτά από τα εργαστήρια του Tomgineer για σήμερα.