|
Das bretteleben.de "Canonical URL" Modul für Joomla 1.5 erlaubt es selektiv die von Google seit Februar 2009 unterstützten Canonischen URLs (canonical url) im HEAD von Seiten zu setzen. Dies dient der Vermeidung von DuplicateContent und dem Konzentieren des PageRank auf eine Seite, wenn diese unter mehreren URLs erreichbar ist.
bretteleben.de "Canonical URL" Modul für Joomla 1.5Das bretteleben.de Canonical URL Modul ist mit Joomla 1.5 einsetzbar.
Das Modul bietet 10 Parameter-Paare, mit denen die tatsächliche URL modifiziert und für das Setzen des TAGs <link rel="canonical" href="/gewünschter Link"> aufbereitet werden kann. Beginnend mit Version 1.1 können mehrere Instanzen des Moduls die URL einer Seite bearbeiten. Dies erfolgt in der Reihenfolge, in der die Module im Backend angegeben sind. Neu in Version 1.1:-mehrere Instanzen kumulierend möglich
Features:- ersetzen einzelner Teile des Pfades - entfernen unerwünschter GET-Parameter - setzen einer fixen canonischen URL
Installation und Verwendung 1.) Das Modul über das Backend hochladen. 2.) Das Modul für alle oder einzelne Menüpunkte aktivieren. 3.) Parameter: Es stehen zehn Parameter-Paare zur Verfügung. Jedes Paar besteht aus dem text, der gesucht und dem Text, mit dem er ersetzt werden soll.
Beispiel: Joomfish wird verwendet, es sind aber noch nicht alle Seiten übersetzt. Um zu verhindern, dass man von Google für DuplicateContent abgestraft wird, setzt man bei noch nicht übersetzten Seiten die Originalseite als canonische URL. Rule01: Find part of URL: lang-en Rule01: Set part of URL: lang-de
Damit wird auf diesen Seiten die deutsche Version als Canonical URL gesetzt.
Beispiel2: Man verwendet yvComment, möchte jedoch nicht, dass die Unterseiten mit den Artikeln 10-20, 20-30, etc. als eigene Seite indiziert werden, um den Pagerank auf die jeweilige Hauptseite zu konzentrieren.
Rule02: Find part of URL: start= Rule02: Set part of URL:
Der Text im ersten Abschnitt endet mit einem Istgleichzeichen. Das Modul erkennt das als zu ersetzenden Parameter und ersetzt den Parameter samt den jeweiligen Werten (0,10,20, was auch immer) gegen den im zweiten Teil eingegebenen Text - in diesem Fall gegen nichts. Hinweis: Das ? vor beziehungsweise das & (oder & amp;) nach einem Parameter wird NICHT angegeben, darum kümmert sich das Modul selbst.
Beispiel3: Man möchte für eine bestimmte Seite ungeachtet aller möglichen und unmöglichen auftretenden URLs eine bestzimmte URL festsetzen, unter der die Seite indiziert werden soll.
Rule03: Find part of URL: Rule03: Set part of URL: /meine-gewuenschte-url.html
In diesem Fall bleibt der erste Teil der Regel frei. Das sagt dem Modul: ersetze die gesamte (relative) URL.
Das Modul arbeitet die gesetzten Regeln der Reihe nach ab und fügt dann den Link rel="canonical" mit der generierten URL in den Head der Seite ein. Der Domain-Teil der URL bleibt von diesem Plugin unberücksichtigt. Alle Änderungen in diesem Bereich sollten nach wie vor per Redirect geregelt werden. Einschränkungen: Verbesserungsvorschläge und Vorschläge für eine Erweiterung der Funktionalität sind hochwillkommen! Das Modul ist mit Vorsicht zu geniessen, den ein fehlerhaftes Setzen der Parameter kann dazu führen, dass Seiten aus dem Google-Index gänzlich verschwinden! Also jede getroffene Einstellung bitte im Quelltext der betroffenen Seite auf korrektes Funktionieren testen!!! Das Modul ist kein Ersatz für das Joomla-eigene SEF-Plugin oder eine externe SEF-Erweiterung. Es ist nur eine Ergänzung!
Eine Schritt für Schritt Anleitung zu Installation und Verwendung folgt.
Demo
Im Menüpunkt Joomla: Very Simple Image Gallery ist das Modul in Verwendung und setzt den Link zur Seite als canonische URL, auch wenn es mit den GET-Parametern von yvComment aufgerufen wird (beim Blättern in den Kommentaren). KompatibilitätDas Modul ist unter Joomla 1.5.6, 1.5.7 und 1.5.8 erfolgreich getestet, das Zusammenspiel mit den verschiedensten anderen Erweiterungen mag aber Probleme mit sich bringen. Ich empfehle einen Testlauf vor dem Einsatz auf einer aktiven Seite und stehe für Fragen und Anregungen immer gerne zur Verfügung. LizenzDas Modul ist unter der GNU Public License (www.gnu.org/copyleft/gpl.html) lizensiert. aktuelle Version: 1.1.0Version 1.1.0 - 2009-03-29
- Das Modul überprüft ob von einer anderen Instanz bereits eine canonische URL gesetzt wurde und bearbeitet diese weiter.
Version 1.0.0 - 2009-02-13Support Für Fragen und Anregungen steht die Kommentarfunktion zur Verfügung, Erfahrungsberichte (ob positiv oder negativ) sind hochwillkommen. Wer die Erweiterung nutzt, hat die Möglichkeit auf joomlaos.de oder extensions.joomla.org Bewertung und Erfahrungsbericht zu posten. Darüber hinaus freue ich mich über jeden, der die Möglichkeit findet, mich durch einen Link zu www.bretteleben.de auf seiner Webseite zu unterstützen. Das Plugin selbst produziert keine versteckten Links oder sonstige Nettigkeiten welcher Art auch immer.
Download Das ZIP-Archiv enthält das Modul, mit dem Download erklären Sie sich mit den Bestimmungen der GNU Public License einverstanden. Das ZIP-Archiv kann für Update und Neuinstallation verwendet werden.
|
Hallo,
Ich habe das Problem dass meine Seite über zwei Domains abrufbar ist und ich möchte eine als Standard definieren. Soweit ich weiß funktioniert das rel = canonical auch cross Domains. Lässt sich dass mit Deinem Modul abbilden?
Danke!!
Hallo timo!
Dafür ist dieses Modul eigentlich nicht gedacht. Ich würde das eher über einen echten 301-redirect am DNS einer der Domains oder zur Not noch über die .htaccess Datei lösen. Alles Andere ist meiner Ansicht nach Stückwerk und auf Dauer nicht zielführend.
Gruß
Andreas
Hallo Andreas,
danke für die Info. Ich dachte, dass das Tool auch eine von außen erkennbare Umleitung bewirken würde, aber die braucht man dann ja gar nicht. Vielen Dank nochmal!
Herzliche Grüße
Thomas
Hallo Thomas!
Naja, theoretisch lassen sich die ganzen Parameter schon mit einzelnen Regeln erfassen, aber es ist ziemlich mühsam.
Wenn Deine Seite eine Zeitlang ohne SEF-URLs online war und dementsprechend viele Varianten herumgeistern, dann bist Du vermutlich mit der Erweiterung "Redirect for Joomla!1.5" am besten beraten (extensions.joomla.org/extensions/site-management/url-redirection/14676).
Das ist ein Backport der - in Joomla!1.6 im Core enthaltenen - Komponente, die es Dir erlaubt, URLs umzuleiten. Damit kannst Du die nicht-SEF URLs als kompletten String eingeben und als Ziel die entsprechende SEF-Url angeben.
Das ist ein anderer Ansatz als die Canonical URL, aber in diesem Fall ist es sicher der bessere Weg um die nicht-SEF URLs langfristig komplett wegzubekommen.
Gruß
Andreas
Hallo Andreas,
ich bins nochmal. Mit der site-Abfrage bei Google site:www(dot)english-for-children(dot)com habe ich festgestellt, dass da noch etliche Varianten herumschwirren:
"index.php?option=com_content&view=frontpage&Itemid=1〈=de" und "www.english-for-children.com/?option=com_content&view=article&id=4&Itemid=3"
Ich habe versucht, das mit
index.php?option=
und
/?option=
auf ein leeres Feld umzuleiten, aber da passiert nichts. Hast Du eine Idee?
Gruß
Thomas
Greetings!
First of all, I would like to thank you very much for this great module.
Easy to use and effective, BRAVO!
The one thing that bothers me is that all of the examples and comments refer to the suffix of the URLs, but what about the PREFIX?
I mean, how do you turn http://mysite.com to http://www.mysite.com?
Thanks!
Hi Elad!
Changing the Sub-Domain is - intentionally - out of the scope of this module. To prevent duplicate content because your content is available through domain.com AND the sub-domain www.domain.com please use a permanent redirect (301) in your .htaccess-file (search Google for "redirect 301 htaccess") and - in addition - I would create an account at Google Webmaster Tools (http://www.google.com/webmasters/tools/), verify the domain and use "Site Configuration" > "Settings" > "General Settings" > "Preferred Domain" to specify if you want Google to index your pages with or without the subdomain "www". This works fine for me.
Best regards
Andreas
Hallo Andreas,
ich versuche auf www(dot)english-for-children(dot)com mit Deinem Tool cannonical urls zu erstellen. Bisher folgende Einstellungen:
Rule01: Find part of URL start.html
Rule01: Set part of URL
Rule02: Find part of URL en
Rule02: Set part of URL de
Leider passiert rein gar nichts. Bitte um Hilfe. Danke
Thomas
Hallo Thomas!
Also soweit ich das sehe, funktioniert das Modul einwandfrei. Im Quelltext der Seite http://www.english-for-children.com/en/start.html findet sich der TAG rel=canonical und als canonical URL ist "http://www.english-for-children.com/de/" gesetzt.
Es werden also beide Regeln korrekt angewendet. "start.html" wird entfernt und "en" wird durch "de" ersetzt.
Gruß
Andreas
Hallo Andreas,
danke für die Antwort.
a) das Modul ist aktiviert
b) mit Seiten ausgewählt meinst Du den Punkt "Menüzuweisung"?! Dort habe ich "alle Menüs" ausgewählt.
c) Bei den Modulpositionen hatte ich tatsächlich eine nicht existierende ausgewählt. Aber auch wenn ich das ändere, passiert nicht wirklich was.
Fazit: Es klappt noch nicht so wie es soll. Bitte nochmals um Hilfe. Danke
Thomas
Hallo Thomas!
Hast Du das Modul (a) aktiviert und (b) die Seiten, auf denen es angewendet werden soll in den Einstellungen des Moduls ausgewählt und ist - zu guter Letzt - (c) die Modulposition, der Du das Modul zugewiesen hast, in Deinem Template auch vorhanden?
Gruß
Andreas
Mein vorhaben:
auf: http://www.burnfree.info/burnfree.html
canonical tag ersheinen lassen mit: canonical http://www.burnfree.info
da gleiches Content (Startseite die durch Zwei Knöpfe erreicht werden kann einmall durch "burnfre" im Menü links und das andere mal über "burnfree" im Menü oben)
Meine Eingabe im Canonical Module:
Rule01: Find part of URL http://burnfree.info/burnfree.html
Rule01: Set part of URL http://www.burnfree.info
der Canonical Tag der danach creiert wird ist: href="http://www.burnfree.info/burnfree.html" rel="canonical" />
was mache ich falsch?
danke, Grüsse aus Hannover. Andriy.
Vielen Dank , Andreas.
Ich hab es so eingestellt wie Du empfohlen hast.
Jetz funktioniert es !
Auf der seite http://www.burnfree.info/burnfree-info.html
( die in Wirklichkeit absolut gleiches Content hat, wie http://www.burnfree.info ) taucht jetz:
link href = "http:/www.burnfree.info/" rel="canonical"
Toll :) !
Danke schön,
Andriy.
Hallo Andriy!
Das Modul kümmert sich nicht um die Domain (dafür nutze bitet die .htaccess) sondern um Alles was danach kommt. "http://burnfree.info" sieht das Modul demzufolge nicht und kann es auch nicht ersetzen. Für das was Du möchtest sollte die Regel so aussehen:
Rule01: Find part of URL burnfree.html
Rule01: Set part of URL
Gruß
Andreas
nutze das bretteleben mod_canonical (bei anderen Projekten positive Erfahrungen gemacht)
Nutze in der .htaccess:
# mod_rewrite in use
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.versandapotheke-versandkostenfrei24\.de$
RewriteRule ^(.*)$ http://www.versandapotheke-versandkostenfrei24.de/$1 [L,R=301]
canonical plugin aktiv und Domain erfolgreich gecheckt.
leider werden keine canonical tags generiert, ich habe es schon mit einigen ,,Rules" im Modul versucht, auch nix.
Vielleicht hat jemand einen Tipp (Könnte es am Template liegen?)
Hier die addy: http://www.versandapotheke-versandkostenfrei24.de
Danke im voraus
Hallo Fred!
Nachdem mittlerweilen der TAG im HEAD vorhanden ist - was war denn das Problem?
Gruß
Andreas
I have attempted to use this module with the sh404sef component enabled, the urls produced by the module are the non SEF version so not appropriate for a canonical version.
Can this module output the sh404SEF url ?
If so how can I get the module to display this form of the url ?
Thatch
Hi Thatch!
If sh404SEF modifies the URL after the point in building a page than this module is executed, it has no chance to modify the sh404SEF-URL. As sh404SEF is a commercial extension, I have not tested against it but if the scenario is as suggested, the module will not work with it.
Best regards
Andreas
Hallo,
Modul installiert und funktioniert sofort! Dafür schon mal ein großes Kompliment.
Eine Frage hab ich aber doch:
Ich verwende SefAdvance, trotzdem lassen sich die Seiten auch "normal" aufrufen. Beispiel:
http://www.yuu-skydive.de/tandemsprung_hamburg/tandemspringen.html
lässt sich auch als
http://www.yuu-skydive.de/index.php?option=com_content&view=article&id=16&Itemid=16
aufrufen. Klassischer Fall von "duplicate content". Mein Lösungsansatz:
Rule01: Find part of URL = /index.php?option=com_content&view=article&id=16&Itemid=16
Rule01: Set part of URL = /tandemsprung_hamburg/tandemspringen.html
Das klappt auch soweit, nur wenn die SEF-URL selbst aufgerufen wird, fügt das Modul trotzdem den Canonical-Link ein.
Ist das nicht doppel gemoppelt, sprich, mach ich mir damit die nächste Baustelle bei Google auf?
Gruß Achmed
Hallo Achmed!
Ich heisse zwar nicht Peter, aber trotzdem: Gern geschehen! :)
Gruß
Andreas
Hallo Peter,
vielen Dank für deine prompte Antwort.
Das hätte ich auch so gedacht. Witziger Weise hat Herr Google aber irgendwie fast den gesamte "statischen" Inhalt auch mit nicht SEF-URL's indexiert. Warum auch immer? Ich hab keine Ahnung!
Anyway! Dein Modul funzt prima und wenn der "DoppelMoppel" nix macht, dann bekommt Herr Google eben noch ein paar generierte Canonical-Links verpasst und gut ist!
Vielen Dank noch mal und weiter gutes Gelingen!
Gruß Achmed
Hallo Achmed!
Zu Deiner Frage: Nein, wenn die URL, die man aufruft mit der canonical URL im Quelltext übereinstimmt, dann ist das absolut kein Problem.
Zu Deiner Vorgehensweise: Die Frage ist nicht, unter welcher URL eine Seite theoretisch aufgerufen werden kann sondern unter welcher sie praktisch aufgerufen werden kann. Selbst wenn alle Seiten Deiner Webseite unter Umgehung von SefAdvance aufrufbar sind, solange sie mit dieser URL nirgends verlinkt sind - ist das absolut irrelevant: Woher sollte ein Spider denn diese URLs kennen? Tut er nicht.
Also, wenn die Verwendung von SefAdvance durchgängig ist und nirgends die nicht-modifizierten URLs aufscheinen, dann kannst Du Dir den Einsatz des Canonical URL Moduls - und eine Menge Arbeit - eigentlich sparen. :)
Gruß
Andreas
Works like a charm.. I only have got a small (or big) question...
I am using Joomfish on my site with 6 different languages.. I know how to set the module when there's no translation and english (default) should be in the canonical URL.
But how to set this... on the home page when I click another language (flag) I get the canonical URL with the extra /xx/ for the language.
www.domain.tld/xx/... then I go onward when I click home/accueill/start... in that particular language the canonical turns back into www.domain.tld ...no language in the canonical.
You can check at www.airshelter.com
Hope I did explain it a bit in a way you can understand ... sorry if I didn't... also the solution might be obvious and I didn't see.... call me stupid then :)
Regards,
Pieter
Hi Pieter!
The reason for this behavior is not caused by the module but by your main menu. Run a test:
a.)
- open the homepage
- change the language
- click an internal link
- click the back button in your browser
- open the source of the homepage: the canonical URL shows the set language
b.)
- open the homepage
- change the language
- click an internal link
- click the link to the homepage in the top menu
- open the source of the homepage: the canonical URL does not show the set language
The reason is, that the link goes to www.airshelter.com directly and not the link of the translated-page (e.g. www.airshelter.com/es.html). I guess you have to modify the main menu to have this link reflecting the URL of the translated page.
Best regards
Andreas
First of all, many thanks for this fabulous module.
I began to work with it tonight and I solved many problems. Here is however a question. I used rules to eliminate the end of url in the canonical tag, for example:
http://www.healthhappinessmag.com/free-ebooks/cat_view/16-free-best-sellers-ebooks/18-personal-growth.html?limit=5&limitstart=0&order=date&dir=ASC
Everything works, except the final "?" at the end...
Now, my canonical tag for the above url is: http://www.healthhappinessmag.com/free-ebooks/cat_view/16-free-best-sellers-ebooks/18-personal-growth.html?
There is stille the "?". Is there a way to remove it ?
I use the docman component with Joomla 1.5.20
Thanks !
Hi Nicolas!
The rules look fine so maybe this is a bug of the module. I will run tests to check this. Meanwhile - and if you are sure that the parameters you are already removing are the only parameters on the pages you are using the module - you could add a fifth rule to remove the question mark explicitly:
Find part of URL: ?
Set part of URL:
Best regards
Andreas
To put off the bad part of url, I use those rules:
limit=
limitstart=
order=
dir=
I put this in the first part of the rule parameter and I let empty the second part of the rule because I want the first part remplaced by nothing (just to erase it).
Thanks,
Nicolas
Hi Nicolas!
Up till now I cannot say what causes this behavior. Could you please post the rules you are using on this page?
Best regards
Andreas