Was ist der beste Ansatz für die Umleitung der alten Seiten in Jekyll und GitHub Pages?
Ich habe einen blog auf github-Seiten - jekyll
Was ist die beste Art und Weise zu lösen-url-Strategie migration?
Fand ich die best-practice-gemeinsam erstellen htaccess wie so
Redirect 301 /programovani/2010/04/git-co-to-je-a-co-s-tim//2010/04/05/git-co-to-je-a-co-s-tim.html
Aber es nicht scheint zu arbeiten mit Github. Eine andere Lösung, die ich gefunden ist erstellen rake-task, um die Umleitung Seiten. Aber da es eine html -, es ist nicht in der Lage zu senden 301
Kopf, so SE-crawler wird nicht erkennen, es als eine Umleitung.
InformationsquelleAutor der Frage Mailo | 2012-04-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die beste Lösung ist die Verwendung sowohl
<meta http-equiv="refresh"
und<link href=
Funktioniert es sehr gut, den Google-Bot neu indiziert meine ganze Webseite unter neue links, ohne Verlust von Positionen. Auch die Benutzer umgeleitet werden, um die neuen Beiträge sofort.
Mit
<meta http-equiv="refresh"
leitet jeden Besucher auf der neuen post.Für den Google-Bot, behandelt es
<link href=
als 301 redirect, der Effekt ist, dass Sie Ihre Seiten neu indiziert und das ist, was Sie wollen.Beschrieb ich den ganzen Prozess, wie zog ich meinen blog von WordPress auf Octopress hier.
http://konradpodgorski.com/blog/2013/10/21/how-i-migrated-my-blog-from-wordpress-to-octopress/#redirect-301-on-github-pages
InformationsquelleAutor der Antwort Konrad Podgórski
Haben Sie versucht, die Jekyll Alias Generator plugin?
Setzen Sie den alias-urls in der YAML front matter post:
Wenn ein Benutzer besucht eine der alias-urls, erfolgt die Weiterleitung auf die Haupt-url, die mittels meta-tag refresh:
Siehe auch in diesem blog-post auf das Thema.
InformationsquelleAutor der Antwort ms-ati
Diese Lösung ermöglicht die Verwendung von true HTTP-Umleitungen via .htaccess — jedoch nichts mit .htaccess funktioniert auf GitHub-pages, weil Sie nicht Apache verwenden.
Mai 2014 GitHub-Seiten-Weiterleitungen unterstütztsondern nach dem jekyll-redirect-von Gem-Dokumentation Sie basieren immer noch auf HTTP-REFRESH (mit
<meta>
tags), die erfordert eine vollständige laden der Seite vor der Umleitung kann auftreten.Ich weiß nicht, wie die
<meta>
- Ansatz, so dass ich peitschte eine Lösung für jedermann, das schaut, um echte HTTP 301-Weiterleitungen innerhalb einer .htaccess-Datei des Apache, die dazu dient, eine pre-generiert Jekyll Website:Erste, der hinzufügen
.htaccess
zu deninclude
Eigenschaft in_config.yml
Erstellen Sie als Nächstes ein .htaccess-Datei und fügen Sie YAML front-matter. Diese Bindestriche sind wichtig, weil nun Jekyll analysiert die Datei, die mit Flüssigkeit Jekyll ' s templating-Sprache:
Stellen Sie sicher, Ihre Beiträge erfordern, leitet zwei Eigenschaften haben wie so:
Nun in .htaccess, fügen Sie einfach eine Schleife:
Diese wird dynamisch zu generieren .htaccess jedes mal, wenn Sie die Website aufzubauen, und das
include
in deiner config-Datei sorgt dafür, dass .htaccess macht es in_site
Verzeichnis.Von dort ist es bis zu Ihnen zu dienen
_site
mit Apache. Ich normalerweise Klon den vollen Jekyll repo in eine nicht-webroot-Verzeichnis ist, dann sind meine vhost ist ein symlink auf die_site
Ordner:Tada! Jetzt kann der Apache dienen der _site-Ordner von Ihrem virtuellen root, komplett mit .htaccess-powered-Weiterleitungen verwenden, je nachdem welche HTTP-Antwort-code, die Sie wünschen!
Könnten Sie sogar super schickes und verwenden Sie eine
redirect
Eigenschaft innerhalb jedes post ' s front matter zu benennen, die die redirect-code in Ihre .htaccess-Schleife.InformationsquelleAutor der Antwort Chris Ruppel
Ist die beste option, um zu vermeiden, url-änderungen zusammen durch die Einstellung der permalink-format in der _config.yml entsprechend Ihrer alten blog.
Darüber hinaus die umfassendste Lösung ist die Erzeugung redirect-Seiten, aber nicht unbedingt die Mühe Wert. Ich landete einfach meine 404-Seite ein wenig wärmer, mit javascript zu erraten der korrekten url. Es tut nichts für die Suche, sondern um tatsächliche Nutzer kann man die Seite, die Sie gesucht haben, und es gibt keine legacy-Zeug, um den rest des Codes.
http://tqcblog.com/2012/11/14/custom-404-page-for-a-github-pages-jekyll-blog/
InformationsquelleAutor der Antwort Tom Clarkson
redirect-plugin von https://github.com/jekyll/jekyll-redirect-from#redirect-to wird unterstützt von GitHub und macht es einfach:
_config.yml
:a.md
:erläutert: https://help.github.com/articles/redirects-on-github-pages/
Nun:
leitet Sie zu
example.com
.Das plugin übernimmt, wenn die
redirect_to
ist definiert durch die Seite.Getestet auf GitHub Seiten v64.
Hinweis: diese version hat einen schweren kürzlich örtlich festgelegte Wanze, die falsch verwendet das Standard-layout für den redirect: https://github.com/jekyll/jekyll-redirect-from/pull/106
Manuelle layout-Methode"
Wenn Sie nicht das Gefühl, wie mit https://github.com/jekyll/jekyll-redirect-from es ist einfach es selbst implementieren:
a.md
:_layouts/redirect.html
basierend auf - Weiterleitung von einer HTML-Seite :Wie in diesem Beispiel, die
redirect-from
plugin erzeugt keine 301s, nurmeta
+ JavaScript-Weiterleitungen.Können wir überprüfen, was Los ist mit:
InformationsquelleAutor der Antwort Ciro Santilli 新疆改造中心 六四事件 法轮功
Da github nicht zulässt, dass 301-Weiterleitungen (was nicht verwunderlich ist), haben Sie, um eine Entscheidung zwischen dem Umzug in Ihr neues URL-Struktur (und eine Suchmaschine Treffer) oder verlassen Sie die URLs so wie Sie sind. Ich schlage vor, Sie gehen Sie vor und machen Sie den Schritt. Lassen Sie die search-engine-chips fallen, wo Sie können. Wenn jemand trifft, Ihre alte links über die Suchmaschine, Sie werden umgeleitet auf die neue Lage. Im Laufe der Zeit, die Suchmaschinen zu Holen Ihre änderungen.
Etwas, das Sie tun können, um zu helfen, Fragen zu schaffen, ist eine Sitemapwo man nur die Liste Ihrer neuen Seiten und nicht die alten. Dies beschleunigt den Austausch von alten URLs durch die neuen ersetzen. Zusätzlich, wenn alle Ihre alten URLs sind in Ihre '/programovani' - Verzeichnis, Sie können auch eine robots.txt Datei zu sagen, zukünftigen durchforstungen sollten Sie ignorieren, dass-Verzeichnis. Zum Beispiel:
Wird es eine Weile dauern, für die Suchmaschinen zu fangen mit den Veränderungen. Dies ist nicht wirklich eine große Sache. Solange die alten URLs noch existieren und umzuleiten, Menschen auf den aktiven Seiten, du wirst in Ordnung sein.
InformationsquelleAutor der Antwort Alan W. Smith
Wie andere erwähnt haben, ist die beste Lösung zur Erhaltung funktionierende URLs oder duplizieren Sie die Seiten, und geben Sie eine canonical URL.
Da github-Seiten nicht unterstützt true redirects, ich wählte bis rerouter auf Heroku zu return 301 (permanent) redirects von meiner Seite aus ist alten domain auf die neue. Die von mir beschriebenen details hier:
http://joey.aghion.com/simple-301-redirects/
InformationsquelleAutor der Antwort Joey
Jekyll hat sich durch einige wichtige updates in den letzten paar Monate, also vielleicht war es gar nicht möglich, wenn diese Frage war Zitat...
Jekyll unterstützt
permalink
Attribut in der YAML front-matter Abschnitt Ihrer blog-posts. Hier können Sie die URL, die Sie möchten, dass Ihre post zu haben und Jekyll verwendet wird (anstatt des Dateinamens), wenn Sie die Erstellung Ihrer Website.InformationsquelleAutor der Antwort Andrew