|
Titel: 2 Anregungen bezgl. SEO: Noindex/DC Beitrag von: Webfan am 19 Mai 2008, 10:55:55 Hallo,
möchte hier mal 2 Modifikationen shären ;) und Fragen dazu stellen. 1. Noindex 2. DC vermeiden 3. Fragen 1. In einigen Modulen (Beispiel Web_Links und Kleinanzeigen(Fremdmodul)) ist mir aufgefallen, daß immer auf den Index geleitet wird, wenn ein Eintrag nicht vorhanden ist, siehe: http://www.pragmamx.org/Web_Links-op-view-lid-999.html Theoretisch könnte ein Angreifer (mit wirklich viel böshaftem Intusiasmus) jede beliebige Url mit immer der gleichen Seite (dem Web_Links Index) verlinken und so aus dem PragmaMx eine wahre Dublicate Content Schleuder machen. Mein Lösungsvorschlag: Es wird eine Meldung ausgegeben und die Seite mit dem NOINDEX Tag versehen: http://www.webfan.de/Web_Links-lid-Outshop-de-WebDirectory-Shopverzeichnis-Webkatalog-999.html Der Anfang der Funktion viewdetails in modules/Web_Links/details.php sieht nun bei mir so aus: Code: [Select] function viewdetails($lid) Die Konstante _META_ROBOTS_NOINDEX_wird in header.php benötigt, dort habe ich meine Erweiterung installiert ( http://www.startforum.de/pragmamx_019/dynamische_keywords_metatags-t394.0.html ) und um die Abfrage der neuen Konstante erweitert:{ global $prefix, $bgcolor1, $bgcolor2, $bgcolor3, $bgcolor4, $module_name, $pagetitle; if (!modCheckAndCleanSubdata($lid)) { define('_META_ROBOTS_NOINDEX_',TRUE); include("header.php"); // (ID: ".$lid.") OpenTable(); echo "<span style=\"color: rgb(255, 0, 0);\">Der angeforderte Weblink ist nicht in unserem Webkatalog vorhanden. </span><br>[ <a href=\"modules.php?name=Web_Links\">Zum Webkatalog...</a> ]"; CloseTable(); include('footer.php'); die(); // mxRedirect('modules.php?name=' . $module_name); } Code: [Select] || defined('_META_ROBOTS_NOINDEX_') ) {echo '<meta name="robots" content="noindex, FOLLOW"> ';} else{echo '<meta name="robots" content="INDEX, FOLLOW"> ';} Äquivalent dazu im Kleinanzeigenmodul (Fremdmodul von md-party) in modules/Kleinanzeigen/visit.php: Code: [Select] $module_name = basename(dirname(__FILE__)); $result32=sql_query("select cid, title from ".$prefix."_add_adds where lid=$lid",$dbi); list($cid,$class_title)=sql_fetch_row($result32, $dbi); $totalrows_ = sql_num_rows($result32); if($totalrows_ < 1) { define('_META_ROBOTS_NOINDEX_',TRUE); include("header.php"); menu(1); // (ID: ".$lid.") OpenTable(); echo "<span style=\"color: rgb(255, 0, 0);\">Die angeforderte Anzeige ist nicht in unserer Datenbank vorhanden. </span><br>"; CloseTable(); include('footer.php'); die(); } //eof anzeige nicht gefunden 2. Der gleiche (oder ähnliche) dublicate content Unfug läßt sich nach der mod_rewrite Erweiterung mit den sprechenden Links ( http://www.pragmamx.org/Downloads-op-view-lid-657.html von m-t :thumbup: ) treiben: Originallink: http://www.webfan.de/Downloads-lid-Modul-Social-Seek-fuer-PragmaMx-22.html DC: http://www.webfan.de/Downloads-lid-doppetltundnochmal-Modul-Social-Seek-fuer-PragmaMx-22.html Bei unseren Beispielmodulen Web_Links und Kleinanzeigen könnte eine Lösung so aussehen: modules/Web_Links/details.php (nach $title=$row['title']): (webfan.de muß angepasst werden!!!) Code: [Select] // Daten fuer header aufbereiten $title = $row['title']; //uricheck modrewrite redirect $umlaute = array("ä", "ü", "ö", "Ä", "Ü", "Ö", "ß"); $ersetzung = array("ae", "ue", "oe", "Ae", "Ue", "Oe", "ss"); $u_title = $title; $u_title = str_replace($umlaute, $ersetzung, $u_title); $u_title = preg_replace('#\W#', "-", $u_title); $u_title = preg_replace('#---#', "-", $u_title); $u_title = preg_replace('#--#', "-", $u_title); $u_title_fert = "/Web_Links-lid-"; $u_title_fert.= $u_title."-"; $u_title_fert.= $lid.'.html'; if($u_title_fert != $_SERVER['REQUEST_URI']) { if(isset($_SERVER['HTTPS'])){ $p_ = 'https://'; }else{ $p_ = 'http://'; } header('Location: '.$p_.'www.webfan.de'.$u_title_fert,TRUE,301); } //eof umleiten //eof uri check modrewrite redirect In modules/Kleinanzeigen/visit.php (genau nach dem obigen Code: die(); } ) (webfan.de muß angepasst werden!!!) Code: [Select] //uricheck modrewrite redirect Demo:$umlaute = array("ä", "ü", "ö", "Ä", "Ü", "Ö", "ß"); $ersetzung = array("ae", "ue", "oe", "Ae", "Ue", "Oe", "ss"); $u_title = $class_title; $u_title = str_replace($umlaute, $ersetzung, $u_title); $u_title = preg_replace('#\W#', "-", $u_title); $u_title = preg_replace('#---#', "-", $u_title); $u_title = preg_replace('#--#', "-", $u_title); $u_title_fert = "/Kleinanzeigen-lid-"; $u_title_fert.= $u_title."-"; $u_title_fert.= $lid.'.html'; if($u_title_fert != $_SERVER['REQUEST_URI']) { if(isset($_SERVER['HTTPS'])){ $p_ = 'https://'; }else{ $p_ = 'http://'; } header('Location: '.$p_.'www.webfan.de'.$u_title_fert,TRUE,301); } //eof umleiten //eof uri check modrewrite redirect http://www.webfan.de/Kleinanzeigen-lid-DOPPELTE-URL-Reseller-Webspace-DNS-Domainverwaltung-149.html http://www.webfan.de/Web_Links-lid-DOPPELTE-URL-Outshop-de-WebDirectory-Shopverzeichnis-Webkatalog-252.html 3. Fragen: - Was ist überhaupt von der Problematik zu halten? (Übertreib ich vielleicht oder so?) - Bei Kategorien (nicht Detailansicht), wenn Seiten mit Blätterfunktionen in den Modulen vorkommen, ist die ganze Sache mitunter etwas vertrackter (mit den Urls und dem Weiterleiten), wer Lust und Zeit hat darf sich gerne beteiligen. - Ich habe lange gegrübelt ob es nicht eine modulübergreifende Lösung geben könnte für das Umleiten auf die neuen Link, irgendwie scheiter ich aber schon theoretisch irgendwie. Wenn jemand vielleicht doch eine Lösung hat...? - Und dann sind da ja noch die anderen Modul, wenn jemand Lust hat kann er ja mit sharen und den Kram auf die anderen Module anwenden und hier posten, ich fang gleich mit dem ersten an, dem News Modul: in modules/News/article.php (nach: $result = sql_query($qry); $story = sql_fetch_assoc($result); ) Code: [Select] //uricheck modrewrite redirect $umlaute = array("ä", "ü", "ö", "Ä", "Ü", "Ö", "ß"); $ersetzung = array("ae", "ue", "oe", "Ae", "Ue", "Oe", "ss"); $u_title = $story['title']; $u_title = str_replace($umlaute, $ersetzung, $u_title); $u_title = preg_replace('#\W#', "-", $u_title); $u_title = preg_replace('#---#', "-", $u_title); $u_title = preg_replace('#--#', "-", $u_title); $u_title_fert = "/News-sid-"; $u_title_fert.= $u_title."-"; $u_title_fert.= $sid.'.html'; if($u_title_fert != $_SERVER['REQUEST_URI']) { if(isset($_SERVER['HTTPS'])){ $p_ = 'https://'; }else{ $p_ = 'http://'; } header('Location: '.$p_.'www.webfan.de'.$u_title_fert,TRUE,301); } //eof umleiten //eof uri check modrewrite redirect mfg :) Titel: Re: 2 Anregungen bezgl. SEO: Noindex/DC Beitrag von: Webfan am 19 Mai 2008, 14:13:36 Ok. Das ganze für Downloads:
Anfang der Funktion viewdetails in modules/Downloads/details.php (bis vor $pagetitle = ...): Code: [Select] function viewdetails($lid) Webfan.de muß angepasst werden beim redirect, ich hab mal ein strip_tags für lid hinzugefügt.{ global $prefix, $bgcolor1, $bgcolor2, $bgcolor3, $bgcolor4, $module_name, $pagetitle; if (!modCheckAndCleanSubdata($lid)) { define('_META_ROBOTS_NOINDEX_',TRUE); include("header.php"); // (ID: ".$lid.") OpenTable(); echo "<span style=\"color: rgb(255, 0, 0);\">Der angeforderte Download ist nicht in unserer Datenbank vorhanden. </span><br>[ <a href=\"modules.php?name=Downloads\">Zum Downloadindex...</a> ]"; CloseTable(); include('footer.php'); die(); // mxRedirect('modules.php?name=' . $module_name); } $qry = "SELECT dd.*, dd.name as auth_name, dd.date as updated, dc.title AS ctitle, dc.parentid AS cparentid, dc.captcha, de.downloadid AS editorialid, de.adminid AS editorialauthor, de.editorialtimestamp, de.editorialtext, de.editorialtitle FROM " . $prefix . "_downloads_downloads AS dd LEFT JOIN " . $prefix . "_downloads_categories AS dc ON dd.cid = dc.cid LEFT JOIN " . $prefix . "_downloads_editorials AS de ON dd.lid = de.downloadid WHERE dd.lid = " . intval($lid) . " LIMIT 1"; $result = sql_query($qry); $row = sql_fetch_assoc($result); // Daten fuer header aufbereiten $title = $row['title']; //uricheck modrewrite redirect $umlaute = array("ä", "ü", "ö", "Ä", "Ü", "Ö", "ß"); $ersetzung = array("ae", "ue", "oe", "Ae", "Ue", "Oe", "ss"); $u_title = $title; $u_title = str_replace($umlaute, $ersetzung, $u_title); $u_title = preg_replace('#\W#', "-", $u_title); $u_title = preg_replace('#---#', "-", $u_title); $u_title = preg_replace('#--#', "-", $u_title); $u_title_fert = "/Downloads-lid-"; $u_title_fert.= $u_title."-"; $u_title_fert.= strip_tags($lid).'.html'; if($u_title_fert != $_SERVER['REQUEST_URI']) { if(isset($_SERVER['HTTPS'])){ $p_ = 'https://'; }else{ $p_ = 'http://'; } header('Location: '.$p_.'www.webfan.de'.$u_title_fert,TRUE,301); } //eof umleiten //eof uri check modrewrite redirect - Natürlich heißt es Enthusiasmus und nicht wie oben beschrieben :morning: mfg Titel: Re: 2 Anregungen bezgl. SEO: Noindex/DC Beitrag von: Fummelhase am 19 Mai 2008, 17:05:36 Ich verstehe nur Bahnhof :puzzled:
Zitat Originallink: http://www.webfan.de/Downloads-lid-Modul-Social-Seek-fuer-PragmaMx-22.html DC: http://www.webfan.de/Downloads-lid-doppetltundnochmal-Modul-Social-Seek-fuer-PragmaMx-22.html schau dir mal die Großen an :note: Original: http://portal.gmx.net/de/themen/wissen/3587816,cc=000mnn358601200035878164Pyyto.html ''Gefälscht:'' http://portal.gmx.net/de/themen/wissen/3587816,cc=allesunfug.html Original: http://de.news.yahoo.com/ddp/2000080516/tsc-staub-im-universum-schluckt-die-hael-aae7dd7.html ''Gefälscht:'' http://de.news.yahoo.com/ddp/20000000000000000000000000000000000000000080516/tsc-staub-im-universum-schluckt-die-hael-aae7dd7.html Zitat 2. Der gleiche (oder ähnliche) dublicate content Unfug läßt sich nach der mod_rewrite Erweiterung mit den sprechenden Links ( http://www.pragmamx.org/Downloads-op-view-lid-657.html von m-t thumbup ) treiben: Diese Erweiterung sollte eigentlich bei PragmaMX Standard Standard sein ... siehe dir unsere Nachbarn an http://demo.joomla.org/1.5/ http://www.drupalcenter.de/ http://typo3.org/ usw. Titel: Re: 2 Anregungen bezgl. SEO: Noindex/DC Beitrag von: Webfan am 19 Mai 2008, 17:33:09 Zitat Ich verstehe nur Bahnhof Das Downloadmodul ist bereits angepasst, deshalb sieht man den Effekt bei dem Beispiellink nicht mehr.Zitat schau dir mal die Großen an Die sind oft kein Vorbild: http://www.google.de/ 57 Html Fehler."Die Großen" betreiben meistens gar keine Suchmaschinenoptimierung, die großen Seiten scheinen gar eigentlich damit anzugeben das sie so groß sind und keine Suchmaschinenoptimierung mehr nötig haben, wenn man sich mal umguckt... Zitat Diese Erweiterung sollte eigentlich bei PragmaMX Standard Standard sein ... siehe dir unsere Nachbarn an Ok. Ich würde mich jedenfalls über eine Option "Inhalt nur über Permalink (http://de.wikipedia.org/wiki/Permalink) erreichbar" oder so in einer nächsten PragmaMX Version freuen.Ich denke gerade für "die Kleinen", wäre das vielleicht auch eine ästhetische Frage, wenn man auch das ganze SEO-Gelaber mal außen vorläßt, oder :gruebel: (Vielleicht böte sich da auch eine Gelegenheit, das System zu überdenken, insofern man sowas dann Modulübergreifend managen könnte... ich geh mal davon aus das tut das Team sowieso :police: ) mfg |