2013-04-25 21 views
10

Mam blog blogera i jego domena niestandardowa wygasa za tydzień. Dlatego planowałem utworzyć nowego bloga i przekierować domenę niestandardową do domeny nowego bloga. Zastanów się, moja stara domena to old-blog.blogspot.com i chcę przekierować wszystkie linki do starego bloga na mój nowy adres new-blog.blogspot.com. Czy robili to w jakiś sposób?Przekierowywanie starego adresu blogu na nowy adres blogu na stałe do bloga

Podczas wyszukiwania w Google przeczytałem o tym, używając warunkowych oświadczeń bloggerów, które należy wykonać dla każdego postu. Ale w moim blogu mam ponad 200 wpisów. Jakieś sposoby?

Odpowiedz

11

Możesz spróbować użyć javascript.

Umieść poniższy kod w tagu <head> w swoim szablonie.

Spowoduje to przekierowanie użytkownika do nowej domeny i do tego samego adresu URL, co w starej domenie.

+0

doskonale działa ... dzięki –

+1

To rozwiązanie nie działa w dynamicznych widokach bloggera. Czy to powinno być coś innego? –

+0

Czy ktoś może tłumaczyć używane regex? Chcę trochę to zmienić. – sumitkanoje

0

trzeba importować blog

ustawienie kliknięć i inne, a następnie kliknij Impor bloga

Następny zapisać pobieranie wynik (plik XML), a następnie kliknij nowego bloga, a następnie kliknij ustawienie, a następnie kliknij inne niż kliknij ekspor blog a następnie przesłać wynik do pobrania (plik XML) zakończyć

+0

To wyjaśnia tylko zmianę wpisów z jednego bloga na inny, ale poprosiłem o przekierowanie. –

+0

window.location.replace ("Twój adres URL") – Zhinto

1

dla widzów, którzy mogą wyłączony JavaScript (co jest rzadkością w dzisiejszych czasach, ale nie niespotykane), które można umieścić

<meta content='0;url=http://your-new-url.tld' http-equiv='refresh'/> 

zamiast tego.

Albo jedno i drugie :)

3

Zrobiłem dużo poszukiwania jak migrować moje konto Bloggera tak, że:

  1. Każdy blogu na starym adresie URL zostanie przekierowany do tego samego postu na blogu nowy adres URL (np. http://old-url.blogspot.com/bar zostanie przekierowany do http://new-url.com/bar).
  2. Wykonujesz przekierowanie w sposób, który nie traci pozycji SEO. Oznacza to, że rozwiązania JavaScript (np. Zaakceptowana odpowiedź w tym poście) nie będą działać, ponieważ potrzebujesz tagu <link rel="canonical" href="http://new-url.com/bar"/> wygenerowanego po stronie serwera w <head>.

Nie znalazłem satysfakcjonujących odpowiedzi, więc aby pomóc innym w przyszłości, pomyślałem, że dodam hack, który tu wymyśliłem. Powodem, dla którego potrzebujesz hackowania, jest to, że szablony blogerów używają pewnej liczby zmiennych, pętli i instrukcji if, które pozwalają na podstawowe operacje na zmiennych, ale na tyle, na ile mogę to stwierdzić, nie ma sposobu na manipulowanie ciągiem znaków w celu uzyskania transformacji adresu URL w wymaganiu # 1 powyżej. Aby obejść ten problem, można wygenerować zakodowaną listę instrukcji if, które sprawdzają wszystkie możliwe adresy URL i przekierowują je do właściwego miejsca. Coś wzdłuż linii:

<b:if cond='data:blog.canonicalUrl == "http://old-url.blogspot.com/url1"'> 
    <link rel="canonical" href="http://new-url.com/url1"/> 
    <meta http-equiv="refresh" content="0; url=http://new-url.com/url1"/> 
<b:elseif cond='data:blog.canonicalUrl == "http://old-url.blogspot.com/url2"'/> 
    <link rel="canonical" href="http://new-url.com/url2"/> 
    <meta http-equiv="refresh" content="0; url=http://new-url.com/url2"/> 
<b:elseif cond='data:blog.canonicalUrl == "http://old-url.blogspot.com/url3"'/> 
    <link rel="canonical" href="http://new-url.com/url3"/> 
    <meta http-equiv="refresh" content="0; url=http://new-url.com/url3"/> 
<!-- And so on, one if-statement per blog post --> 

Jeśli można zrobić podstawowe włączony, nie trzeba generować te IF-deklaracje (i nie może być setki) ręcznie. Zamiast tego możesz export your Blogger posts utworzyć plik XML i napisać prosty skrypt do odczytu w każdym adresie URL w tym pliku i wygenerować powyższą instrukcję if. Napisałem post na blogu o migracji z Blogger to GitHub Pages, w którym wyjaśniam wszystkie krwawe szczegóły, a skrypt Ruby, którego użyłem do wygenerowania instrukcji if jest dostępny on GitHub.Zauważ, że jest to bardzo hacky skrypt dostosowany do mojego bloga, i faktycznie działa przeciwko Jekyll konwersji XML eksportu blogger, ale możesz użyć go jako podstawy do stworzenia własnego skryptu i uniknięcia wielu dziwnych komunikatów o błędach szablonu blogger.

+1

Dzięki. Skończyłem na tej samej ścieżce, co Ty, napisałem swój własny generator szablonów blogerów, a także skrypt, który upraszcza pliki html i tworzy pliki md w F #: [gist] (https://gist.github.com/hoonzis/de264faa619c9390eb97) – hoonzis

+1

Super pomocne, dzięki. Coś innego, co musiałem zrobić, to ustawić 'timezone:" America/Chicago "' w moim '_config.yml', w przeciwnym razie strony GH wstawiały posty do folderów opartych na UTC, co nie zawsze pasowało do dat wygenerowanych przez skrypt. Mógłbym też uruchomić skrypt z 'TZ =" "', aby dopasować GH Pages, różni ludzie będą mieli różne opinie o tym, które jest bardziej poprawne. –

Powiązane problemy