gelöschter Benutzer

Verh. Content zu Quelltext - Vorschlag

am 12.11.2009, 01:02 Uhr eröffnete folgenden Thread
Feedback    2058 mal gelesen    7 Antwort(en).

Die Liste von den bekannten Bugs hat mich vorhin darauf aufmerksam gemacht, dass ich die Berechnungsmethode nicht nachvollziehen kann .
Wie dort erwähnt ist, werden z.B. überflüssige Whitespaces als Content statt Code interpretiert.

Vor ein paar Tagen habe ich ein Kleines Script entwickelt, welches das Verhältnis Content zu Quelltext meiner Meinung nach exakt berechnet.

- Title-, Alt- und Value(Input)-Attribute werden als Content gezählt.
- Mehrfache Whitespaces werden auf eines reduziert.
- HTML-Entities werden decodiert.

<?php
# Grösse des gesamten Quelltextes
$totalSize = strlen($quelltext);

# HTML-Kommentare entfernen
$quelltext = preg_replace('##Uis', '', $quelltext);

# Title-Attribute rausfiltern
$titles = array(array(), array(), array());
preg_match_all('#<[^>]+[[:space:]]title=(\'|")([^>]*)(\\\\1)#Uis', $quelltext, $titles);
$titlessize = 0;
foreach($titles[2] as $title)
$titlessize += strlen(trim(preg_replace('#[[:space:]]+#s', ' ', html_entity_decode($title, ENT_QUOTES, 'UTF-8'))));
# Alt-Attribute rausfiltern
$alts = array(array(), array(), array());
preg_match_all('#<[^>]+[[:space:]]alt=(\'|")([^>]*)(\\\\1)#Uis', $quelltext, $alts);
$alternatsize = 0;
foreach($alts[2] as $alt)
$alternatsize += strlen(trim(preg_replace('#[[:space:]]+#s', ' ', html_entity_decode($alt, ENT_QUOTES, 'UTF-8'))));
# Value-Attribute rausfiltern
$vals = array(array(), array(), array());
preg_match_all('#<input[^>]*[[:space:]]value=(\'|")([^>]*)(\\\\1)#Uis', $quelltext, $vals);
$valuesize = 0;
foreach($vals[2] as $val)
$valuesize += strlen(trim(preg_replace('#[[:space:]]+#s', ' ', html_entity_decode($val, ENT_QUOTES, 'UTF-8'))));

# HTML-Tags entfernen, inkl. Inhalte von Style, Script und Noscipt
$quelltext = preg_replace('#<(style|script|noscript)[^>]*/>#Uis', '', $quelltext); // leere Tags
$quelltext = preg_replace('#<(style|script|noscript)[^>]*>.+</(\\\\1)>#Uis', '', $quelltext);
$quelltext = strip_tags($quelltext);

# HTML-Entities in Zeichen umwandeln
$quelltext = html_entity_decode($quelltext, ENT_QUOTES, 'UTF-8');

# Alle überflüssigen/mehrfachen Whitespaces auf eines reduzieren
$quelltext = preg_replace('#[[:space:]]+#s', ' ', $quelltext);
$quelltext = trim($quelltext);

# Title-Attribute etc. mit Content zusammenrechnen
$contentSize = (strlen($quelltext)+$titlessize+$alternatsize+$valuesize);

# Verhältnis in %
$result = round($contentSize/$totalSize*100, 2);
?>


seitenreport
Avatar seitenreport
Inhaber
TYPO3 Senior Developer
Content Gott (1772 Beiträge)
am 12.11.2009, 02:07 Uhr schrieb seitenreport

Zum Problem wird glaube ich die Performance bei so vielen preg_replaces auf einem Haufen. Ansonsten sieht dein Skript aber recht interessant aus. Ich schau es mir morgen mal genauer an. Jetzt gehts aber erst mal Schlafen.


SEO Analyse und Website-Check mit Seitenreport


gelöschter Benutzer
am 12.11.2009, 09:32 Uhr schrieb

Mir ist da noch ein kleiner Fehler aufgefallen.
Man muss ganz am Anfang noch den auskommentierten Code entfernen, sonst wird er womöglich bei den Attributen mitgerechnet:
<?php
# HTML-Kommentare entfernen
$quelltext = preg_replace(\'##Uis\', \'\', $quelltext);
?>


seitenreport schrieb:

Zum Problem wird glaube ich die Performance bei so vielen preg_replaces auf einem Haufen.


Ist nicht ganz so schlimm, wie man annehmen könnte. Ich habe auch schon mehr von denen gesehen.

seitenreport schrieb:

Jetzt gehts aber erst mal Schlafen.


Ist das normal in der IT-Branche? Bis über Mitternachts hinaus arbeiten, dafür erst um zehn Uhr aufstehen..

Gibt\'s übrigens eine Erklärung, warum ich den ersten Post nicht editieren kann?



gelöschter Benutzer
am 12.11.2009, 10:35 Uhr schrieb

Raptor schrieb:

Ist das normal in der IT-Branche? Bis über Mitternachts hinaus arbeiten, dafür erst um zehn Uhr aufstehen..



Ja. Kommt mir irgendwie bekannt vor.



gelöschter Benutzer
am 12.11.2009, 10:42 Uhr schrieb

Raptor schrieb:

Mir ist da noch ein kleiner Fehler aufgefallen.
Man muss ganz am Anfang noch den auskommentierten Code entfernen, sonst wird er womöglich bei den Attributen mitgerechnet:
<?php
# HTML-Kommentare entfernen
$quelltext = preg_replace(\'##Uis\', \'\', $quelltext);
?>


seitenreport schrieb:

Zum Problem wird glaube ich die Performance bei so vielen preg_replaces auf einem Haufen.


Ist nicht ganz so schlimm, wie man annehmen könnte. Ich habe auch schon mehr von denen gesehen.

seitenreport schrieb:

Jetzt gehts aber erst mal Schlafen.


Ist das normal in der IT-Branche? Bis über Mitternachts hinaus arbeiten, dafür erst um zehn Uhr aufstehen..

Gibt\'s übrigens eine Erklärung, warum ich den ersten Post nicht editieren kann?



Du kannst meist erst an die Server & PC\'s der Kunden ran, wenn diese nicht mehr im Büro sind. Von daher bedeutet das meist Nachtschicht.
Die Nacht ist unser Freund, da wir hier ungestört arbeiten können. Wenn man nämlich am Tag gesehen wird, heißt das ARBEIT.



gelöschter Benutzer
am 12.11.2009, 13:14 Uhr schrieb

Raptor schrieb:

Ist das normal in der IT-Branche? Bis über Mitternachts hinaus arbeiten, dafür erst um zehn Uhr aufstehen..

Gibt\'s übrigens eine Erklärung, warum ich den ersten Post nicht editieren kann?


Ja, so ist das!
Ich kann allerdings in der letzen Zeit nur bis max. 02:00 Uhr arbeiten, da um 07:30 spätestens mus auf! Kunden warten...


seitenreport
Avatar seitenreport
Inhaber
TYPO3 Senior Developer
Content Gott (1772 Beiträge)
am 13.11.2009, 14:14 Uhr schrieb seitenreport

@Flo: Die ersten Tests mit Deinem Skript verliefen recht vielversprechend was die Erkennung angeht. Ich teste es die nächsten Tage mal kurz im Livebetrieb, um gute Vergleichswerte zu bekommen. Danke.

Gruß,
Matthias


SEO Analyse und Website-Check mit Seitenreport

lwulfe
Avatar lwulfe
Consultant
Content Halbgott (743 Beiträge)
am 28.12.2009, 12:57 Uhr schrieb lwulfe

seitenreport schrieb:

@Flo: Die ersten Tests mit Deinem Skript verliefen recht vielversprechend was die Erkennung angeht. Ich teste es die nächsten Tage mal kurz im Livebetrieb, um gute Vergleichswerte zu bekommen. Danke.

Gruß,
Matthias


Hallo,
was ist eigentlich aus Flo´s script geworden?


  • 1


« zurück zu: Feedback

Das Seitenreport Forum hat aktuell 5273 Themen und 36107 Beiträge.
Insgesamt sind 496 Mitglieder registriert.