2012-12-12 22 views
15

Używam apache2.0 i zastanawiam się, czy możliwe jest przekierowanie 301 za pomocą javascript lub jQuery.Czy przekierowania 301 są możliwe przy użyciu javascript lub jQuery?

Mam tag z href do określonej lokalizacji i poproszę o przekierowanie 301 po kliknięciu tego łącza.

To jest dla SEO i próbuję znaleźć sposób na przekierowanie 301 do tej samej strony w łączu bez konieczności tworzenia nowej strony lub tworzenia formularza/przesyłania.

Odpowiedz

21

W skrócie nr.

JavaScript działa w całości po stronie klienta. Przekierowania 301 mają być odpowiedzią serwera. Co oznacza, że ​​nie można tego zrobić bez wsparcia serwera.

5

301 to kod odpowiedzi serwera. Nie można utworzyć przekierowania 301 z jQuery.

Będziesz musiał wykonać 301 z PHP.

2

301 redirects są stałymi przekierowaniami i są to w zasadzie odpowiedzi serwera HTTP. JavaScript/jQuery to coś, co jest wykonywane na kliencie. Dwa różne światy.

Zamiast tego możesz wstawić końcowy URL, jeśli nie możesz tego zrobić na serwerze.

Lub, jeśli pytasz, czy możesz przekierować bieżącą stronę, tak, to jest możliwe z przekierowaniami META lub zmieniając window.location.

Jeśli używasz Apache, możesz użyć mod_rewrite do przekierowania 301.

+0

@Queti: Przekierowania 301 można wykonać z dowolnej struktury po stronie serwera, a nie tylko z PHP. –

+0

Myślę, że skomentowałeś złą odpowiedź. Tak czy inaczej, myślę, że Queti miał na myśli właśnie PHP, ponieważ jest to serwer oznaczony w pytaniu: – Ian

+0

@AdrianBer. Ale jeśli zauważysz, umieściłem php w moich tagach, więc skierował mnie do mojego własnego scenariusza. –

9

Wiem, że to stare pytanie, ale odpowiedzi tak naprawdę nie odnoszą się do pierwotnego problemu, który został przedstawiony w pytaniu, które jest przekierowaniem 301 dla celów SEO (a dzisiejsza odpowiedź może bardzo dobrze wyglądać inaczej niż wtedy, gdy pytanie pierwotnie zadano i udzielono odpowiedzi).

Odpowiedź, że nie, nie można przekierować 301 z klienta jest technicznie poprawne, jednak (i ​​co ważniejsze) niekoniecznie trzeba. Podczas gdy prawdziwy 301 byłby preferowany, w przypadkach takich jak ten, gdzie nie jest to możliwe (lub na przykład przejście z adresów URL hashbang z powrotem do tradycyjnych adresów URL), pytanie brzmi naprawdę, czy istnieje realna alternatywa, która osiąga cel.

Search Engine Land did a detailed test z możliwościami Google dotyczących JavaScript i jest to związane fragment tego artykułu:

  1. przekierowania Javascript

Najpierw testowano wspólnego JavaScript przekierowań, zmieniając sposób URL został reprezentowany na różne sposoby. Wybraną metodą była funkcja window.location. Przeprowadzono dwa testy: Test A zawierał bezwzględny adres URL przypisany w funkcji window.location. Test B użył względnego adresu URL.

Wynik: Przekierowania szybko przeszły w ślad za Google. Z punktu widzenia indeksowania zostały one zinterpretowane jako 301-te - stan końcowy URL-e zastąpiły przekierowane adresy URL w indeksie Google.

W kolejnym teście wykorzystaliśmy autorytatywną stronę i zaimplementowaliśmy przekierowanie JavaScript do nowej strony na stronie z dokładnie taką samą zawartością. Oryginalny adres URL znajduje się na pierwszej stronie Google dla popularnych zapytań.

Wynik: Zgodnie z oczekiwaniami, przekierowanie zostało wykonane przez Google, a oryginalna strona usunięta z indeksu została zmieniona na . Nowy adres URL został zindeksowany, a natychmiast znalazł się w tej samej pozycji dla tych samych zapytań. Ten zaskoczył nas i wydaje się wskazywać, że przekierowania JavaScript mogą (przy razy) zachowywać się dokładnie tak, jak stałe przekierowania 301 z punktu widzenia rankingu .

Następnym razem, gdy klient chce zaimplementować przekierowania JavaScript dla , ich ruch w witrynie, odpowiedź może nie być, "proszę, nie". To jest pojawia się transfer sygnałów rankingowych w tej relacji. Wspieranie Odkrycie to jest cytat z Google’s guidelines.

„Korzystanie JavaScript przekierować użytkowników może być uzasadniony praktyka Dla przykład, jeśli przekierować użytkowników do strony wewnętrznej raz są one rejestrowane w , można użyć JavaScript Podczas sprawdzania JavaScriptu lub innych metod przekierowania, aby upewnić się, że witryna jest zgodna z naszymi wskazówkami, rozważ intencje. Pamiętaj, że przekierowania 301 są najlepsze, gdy przesuwają Twoją witrynę, ale możesz użyć przekierowania JavaScript do tego cel, jeśli nie masz dostępu do serwera swojej witryny. "