301 yönlendirme adresindeki değişkenler. www içermeyen bir alan adından ters yönlendirme. www ile etki alanına. Sayfa URL'si değiştiğinde kalıcı yönlendirmeler

  • 28.07.2019

Arama sonuçlarında gösterilen sayfanın URL'sini değiştirmek istiyorsanız, kullanmanız önerilir. yönlendirme 301(301 Kalıcı Yönlendirme) sunucu tarafından gerçekleştirilir. Bu, kullanıcıların ve arama motorlarının doğru sayfaya gitmesini sağlamanın en iyi yoludur.

301 durum kodu, istenen sayfanın nihayet yeni bir konuma taşındığı anlamına gelir.

Aslında birkaç yönlendirme var. 301 yönlendirmesinin nasıl yapıldığını infografikte görebilirsiniz.

301 yönlendirmesi ne zaman kullanılır?

301 yönlendirmelerini kullanmak özellikle aşağıdaki durumlarda faydalıdır:

  1. Alan adını değiştirirken . Sitenizi farklı bir alana taşıdınız ve sitenizin hiç yönlendirme yokmuş gibi görünmesini istiyorsunuz.
  2. Yeni alan adına Page Rank ve TCI'ye geçiş yapmak için.
  3. Arama trafiğini korumak için.
  4. Kullanıcılar siteye birkaç farklı URL kullanarak erişebilir. Örneğin, sayfaya ulaşmanın birkaç yolu vardır: //site.ru/sub, //alt.site.ru veya //www.site.ru... Bu URL'lerden birini şu şekilde seçmek uygun olabilir: kanonik (ana) ve trafiği diğer URL'lerden yönlendirmek için bir 301 yönlendirmesi kullanın. Özelleştirme için Web Yöneticisi Araçlarını kullanabilirsiniz.
  5. İki siteyi birleştirirken, güncel olmayan sayfalara verilen tüm bağlantıların o anda etkin olan sayfalara işaret etmesi gerekir.
  6. Bir site sayfasını yeni bir konuma taşıdığınızda.
  7. Site adını www öneki ile ve olmadan yapıştırmak için.

İlgili makale: Yandex, TCI'yi ICS ile değiştiriyor - site kalitesinin yeni bir göstergesi

Belirli bir sayfa adresine erişilirken döndürülen 301. hata (301 Kalıcı Yönlendirme), sitenin kalıcı olarak HTTP başlığında belirtilen yeni bir adrese taşındığı anlamına gelir. Hem tarayıcıdan giriş yapan kullanıcılar hem de arama botları yeni adrese yönlendirilirken, arama motorları için eski adresin (sayfa) tüm özellikleri yeni URL'ye aktarılacaktır. 301 yönlendirmesi ile eski ve yeni URL'ler birbirine yapıştırılacaktır: PageRank ve TCI gibi parametreler ile eski URL'nin sayfa ağırlığı ve bağlantı ağırlığı yeni URL'ye aktarılacaktır.

301 hata numarasıyla (kalıcı olarak taşınır) yönlendirme, bir web sitesini yeni bir alana taşırken veya içerik yönetim sistemini değiştirirken arama motorlarındaki sıralamasını korumanın en iyi yoludur. Yönlendirme, yüklenen yazılıma bağlı olarak birkaç şekilde yapılabilir.

301'e yönlendirin. htaccess

Bir Apache sunucusunu kullanırken, yönlendirmeler .htaccess dosyası kullanılarak kolayca yapılabilir, ancak mod_alias modüllerini (Redirect, RedirectPermanent ve RedirectMatch yönergelerini desteklemek için) ve / veya mod_rewrite (yeniden yazmayı kullanmak için) php.ini'de etkinleştirmeyi unutmayın. .

Bunu yapmak için .htaccess dosyasını sitenizin kök klasörüne yerleştirin.

Yönerge kullanarak yönlendirme Yönlendirme veya YönlendirmeKalıcı modül mod_alias

Yönlendirme 301 /eski-sayfa.html //yeni-alan.ru/yeni-sayfa.html

Kalıcı /eski-sayfa.html //new-domain.ru/new-page.html yönlendirmesi

Bu yöntemin dezavantajı, yeniden yönlendirilmesi gereken tüm adreslerin ayrı ayrı listelenmesi gerektiğidir. Benzer amaçlar için RedirectPermanent'i de kullanabilirsiniz.

YönlendirmeKalıcı /eski-url.html //yeni-site.ru/yeni-url.html

Yönerge kullanarak yönlendirme YönlendirmeMaç

Bu yönlendirme, eski URL'ler için normal bir ifade kullanabilmeniz dışında öncekine benzer. Örneğin, motoru PHP'den ASP'ye değiştirirken, eski adresleri aşağıdaki gibi yönlendirebilirsiniz:

RedirectMatch /(.*).php$ /$1.aspx

Yönerge kullanarak yönlendirme Yeniden Yazma Kuralı modül mod_rewrite

RewriteRule yönergesini kullanmak için httpd.conf'da mod_rewrite modülünün ve FollowSymLinks seçeneğinin etkin olduğundan emin olmanız gerekir. Modülün yeniden yazma özelliğinin kullanılması, sayfaları yeni adreslere yönlendirmek için birçok olanak sağlar.

Madde

Yanıt kodu 301 (Kalıcı Olarak Taşındı), istenen belgenin artık kalıcı olarak yeni adresinde mevcut olduğu anlamına gelir. Birkaç durumda bir 301 yönlendirmesi gerekebilir: yeni bir etki alanına geçmek, sayfa adresini değiştirmek veya. Bu faaliyetlerin hedefleri oldukça şeffaftır:

  • Eski metrikleri yeni bir sayfaya veya alana aktarma.
  • Hem harici hem de dahili kopuk bağlantıların ortadan kaldırılması.
  • Yinelenen sayfaların ortadan kaldırılması.

301 yönlendirmesi yapmanın birkaç yolu vardır, ancak sitenizin FTP kök klasöründe bulunan .htaccess dosyasını kullanmayı tercih ederim (eğer orada değilse, sadece oluşturun, uzantısı yoktur).

301 sayfadan sayfaya yönlendirme ayarlama

Çoğu zaman, bir site sayfası kaldırıldığında veya URL'sini değiştirmeye zorlandığında bir durum ortaya çıkar. Eski adresine erişirken, kullanıcı elbette bir 404 hata sayfası (bulunamadı) görecektir.

Sayfa önemsizse, rahatsız etmemelisiniz, ancak site ziyaretçileri tarafından sık sık erişiliyorsa (ve belki biri onu yer imlerine eklemişse), kontrolünüz dışındaki harici bağlantılar veya tersine, kontrol edilmeyen dahili bağlantılar sizin tarafınızdan, onu yönlendirin. gerçekten onları düzenlemek istediğiniz ciltler, daha sonra eski sayfadan yenisine bir 301 yönlendirmesi ayarlamak sizin için mükemmel bir çözüm olacaktır.

Yinelenen sayfalarla mücadele etmek için de kullanılabilir. Genel olarak, "Yönlendirme 301'i Kullanmanın 99 Yolu" konusunda bir kitap yazmanız gerekir. İşte sözdizimi:

Yönlendirme 301 /eski-sayfa.html http://new-domain.ru/new-page.html

Ya da sonuç aynı olacaktır:

Kalıcı /eski-sayfa.html http://new-domain.ru/new-page.html yeniden yönlendir

Açıklayayım: /old-page.html, eski sayfanın göreli adresidir. Yuvalanabilir: /eski-kategori/eski-sayfa.html veya şöyle: / eski-kategori / eski-sayfa / - burada herhangi bir kısıtlama yoktur. Aynısı http://new-domain.ru/new-page.html (yeni sayfa) için de geçerlidir, tek fark buradaki yolun mutlak olmasıdır (yeni bir alan olması gerekmez - sadece olabilir yeni bir dahili sayfa adresi ).

Bir siteyi yeni bir etki alanına aktarırken 301 yönlendirmesi ayarlama

Durum daha az anlaşılır değil. Eski (, PR) göstergelerini koruyarak yeni bir alana taşınmaya ihtiyaç vardı. Bu durumda, eski etki alanının .htaccess dosyasına aşağıdakini ekleyin:

Seçenekler + FollowSymLinks
Yeniden YazmaMotoru açık

Yeniden YazmaMotoru kapalı

RewriteCond% (HTTP_HOST) ^ eski etki alanı \ .ru
RewriteRule ^ (. *) $ Http://new-domain.ru/$1
RewriteCond% (HTTP_HOST) ^ www.oldsite \ .ru
RewriteRule ^ (. *) $ Http://old-domain.ru/$1

Bu örnekte, eski etki alanının tüm sayfalarının yenisinin sayfalarına yönlendirilmesini ayarladık (göreceli adreslerinin aynı olması şartıyla). Aynı zamanda, aktarım işlemini daha eksiksiz hale getirmek için robots.txt dosyasını eski alan adına yönlendirme yapmadan bıraktık. İçine yazıyoruz:

Kullanıcı aracısı: *
İzin verme:
Ev sahibi: newsite.ru
Site Haritası: http://newsite.ru/sitemap.xml

Alan adı taşıma işlemi kredilendirilene ve tüm özellikler aktarılana kadar birkaç ay bekliyoruz.

Site aynalarını birleştirme: 301, www'den www olmayanlara ve tam tersi

Siteye erişim için çeşitli seçenekler vardır - www ile ve www olmadan (örneğin, site ve www.site). Kullanıcı, URL'yi tam olarak nasıl gireceğini umursamıyor, çünkü yine de aynı sayfada olacak. Arama motorlarında durum farklıdır. Www.site.ru ve site.ru'yu tamamen farklı iki alan olarak görüyorlar (bu, gerçekten öyleyken, World Wide Web tarihinin derinliklerine kadar uzanır).

Bu kopyalar, sitenin indekslenmesine ve genel olarak tanıtımına müdahale eder, çünkü ilk olarak, bunlar banal kopya sayfalardır (tekrar için özür dilerim) ve ikinci olarak, gelen bağlantılar da farklı sepetlere sığar. Aynısı ana sayfanın kopyaları için de geçerlidir: site.ru, site.ru/index.html, site.ru/index.php, vb. Bu nedenle site oluşturma aşamasında bile bu konuya dikkat edilmesi ve sitenin sürümlerinden birinin (örneğin www ile) diğerine (örneğin www olmadan) yönlendirilmesi tavsiye edilir. O an kaçırıldıysa, endişelenecek bir şey yok.

Aşamalarda 301 yönlendirmelerini kullanarak aynaları yapıştırma sürecini ele alalım.

1. Arama motorları tarafından indeksleme için seçilen ana etki alanını belirleyin.

Ana ayna, Yandex arama sonuçlarının sonuçlarıyla kolayca tanımlanabilir ve. Alan adını girin ve hangi adresin görüntülendiğini görün: www.site.ru veya site.ru. Site henüz dizine eklenmemişse, onu kendi takdirimize göre seçeriz. Google ve Yandex'deki ana alanlar farklıysa, Yandex'den ayrılmak daha iyidir.

2. .htaccess'e bir 301 yönlendirmesi kaydediyoruz.

FTP sitesinin kök dizininde .htaccess dosyasını bulun, indirin ve not defterinde açın ve ardından gerekli değişiklikleri yapın. İlk seçenek, bir alan adının www'den www'ye 301 yönlendirmesidir:

Seçenekler + FollowSymLinks
Yeniden YazmaMotoru Açık

Yeniden YazmaMotoru kapalı

RewriteCond% (HTTP_HOST) ^ site.ru $
RewriteRule (. *) Http://www.site.ru/$1

Tersi durum www'den www yok:

Seçenekler + FollowSymLinks
Yeniden YazmaMotoru Açık

Yeniden YazmaMotoru kapalı

RewriteCond% (HTTP_HOST) ^ www.site.ru $
RewriteRule (. *) Http://site.ru/$1

Düzenlemeyi bitirdikten sonra dosyayı kaydedin ve üzerine yazarak FTP kök klasörüne yükleyin.

İsteğe bağlı olarak, index.php ve index.html formunun ana sayfasını hemen çoğaltmakla ilgilenebilirsiniz, aşağıdaki kodu ekleyin:


RewriteRule ^ dizin \ .html $ http://www.site.ru/

RewriteRule ^ dizin \ .php $ http://www.site.ru/

Yine, site.ru'nuz varsa:

RewriteCond% (THE_REQUEST) ^ (3.9) \ / index \ .html \ HTTP /
RewriteRule ^ dizin \ .html $ http://site.ru/
RewriteCond% (THE_REQUEST) ^ (3.9) \ / index \ .php \ HTTP /
RewriteRule ^ dizin \ .php $ http://site.ru/

3. robots.txt'yi kurma

robots.txt dosyasına dokunulmadan bırakılan tanıdık yönergeyi gördünüz mü? Bu doğru, hadi robots.txt dosyasını değiştirelim:

Ev sahibi: main-mirror.ru

4. Sitenin çalışmasını kontrol etmek.

Yönlendirmeyi bıraktığımız adresi giriyoruz, örneğin, www.site.ru veya site.ru/index.html ve girerken site.ru'ya bir geçiş varsa, her şey doğru şekilde yapılandırılmıştır.

5. Yandex ve Google web yöneticisini ayarlama.

Ek olarak, uygun ayarları kişisel olarak uygularız. Yandex durumunda:

Peki, Google için:

Hepsi bu gibi görünüyor. İyi şanslar ve herhangi bir sorunuz varsa, lütfen yorumlara yazın.

  • Yazan Nikolay Korotkov
  • Tarih: 29 Kasım 2013 09:23

Tekrar merhaba!

Bugün size 301 yönlendirmesini nasıl kuracağınızı göstereceğim. Belki de 301 yönlendirmelerini bir kereden fazla duymuşsunuzdur, ancak ihtiyaç eksikliğinden ve belki de onarılamaz bir şey yapma korkusundan dolayı, ilk bakışta zor kısaltmaya çok fazla önem vermediniz.

İnternette 301 yönlendirmelerinin ayarlanması hakkında birçok makale yazılmıştır. Ancak çoğuna bakıldığında, yeni başlayanlar "beyni patlatabilir". Tüm bu anlaşılmaz senaryolar ve kodlar birçokları için kafa karıştırıcıdır. Aslında her şey ilk bakışta göründüğü kadar karmaşık değil ve bu yazımda 301 yönlendirmesi nasıl kurulacağını herkese olabildiğince açık bir şekilde aktarmaya çalışacağım.

Ve şimdi sırayla her şey hakkında. 301 yönlendirmesi nedir? Bu, bir ziyaretçinin başka bir sayfaya veya alana basit bir şekilde yeniden yönlendirilmesidir (bir alan adının ne olduğu ve nasıl kaydedileceği hakkında bilgi edinin). Hemen söylemeliyim ki, bu yazıda çeşitli komut dosyalarını ve karmaşık kodları ele almayacağım, yalnızca herhangi bir web yöneticisinin fazlasıyla bileceği birkaç basit yönlendirme seçeneği göstereceğim.

301 yönlendirmesi nasıl kurulur? Yönlendirme.htaccess

.htaccess üzerinden 301 yönlendirmelerini ele alacağız. Htaccess, birçok özelliği gizleyen bir yapılandırma hizmeti dosyasıdır. Bunu kullanarak, bireysel dizinlere erişimi engelleyebilir, sayfaların kodlamasını belirleyebilir, dosya ve klasörlerin korumasını ayarlayabilir, 301 yönlendirmesi yapabilirsiniz, vb.

Bu, genel anlamda, amacını anlamanız içindir ve aslında hayal edebileceğinizden çok daha fazla fırsatı vardır. Özünde, dosyanın adı yoktur ve başında zorunlu bir nokta bulunan bir .htaccess uzantısı olarak yazılmıştır.

Birdenbire bu dosya sitenizin kök dizininde görünmezse, kendiniz oluşturun. .htaccess dosyası oluşturmanın en kolay yolu FileZilla FTP istemcisini kullanmaktır (bunun hakkında yazdım):

Bunu yapmak için blogunuzun kök dizinine gidin, boş alana sağ tıklayın / Yeni dosya oluşturun / Dosya adını girin / .htaccess / Tamam. Bundan sonra, dosya düzenleme için hazır olacaktır. Örneğin herhangi bir metin düzenleyiciyle açabilirsiniz.

Ancak ftp - manager'in .htaccess dahil sistem dosyalarını gizlediği zamanlar vardır. Bu nedenle, dosyayı kök dizinde bulamazsanız, onu oluşturmak için acele etmeyin. İlk önce, gizli dosyalarda varlığını kontrol edin.

Bunu yapmak için "Sunucu" sekmesine gidin ve "Gizli dosyaları görüntülemeye zorla" öğesinin yanındaki kutuyu işaretleyin. Bu durumda .htaccess dosyasını bulamazsanız, onu oluşturun.

301 yönlendirmesine ne zaman ihtiyaç duyarsınız?

En önemli şeyle başlayalım!

Genel olarak, İnternet'teki her kaynağın bir 301 yönlendirmesi olmalıdır. Ve en yaygın durum, basitçe gerekli olduğunda, WWW ön eki olan bir etki alanından onsuz bir etki alanına veya tam tersi yönlendirmedir (www ön ek olarak da adlandırılır). Şimdi herkesin neyin tehlikede olduğunu anlaması için bunun neden olduğunu kısaca açıklayacağım.

Gerçek şu ki, ağdaki herhangi bir kaynak için alan adının (www ile veya www olmadan) varyantlarından biri ana olmalıdır. İşte blogumda basit bir örnek. Ana etki alanı http://site, a www.site- onun aynası. Ana blog aynası, Yandex için robots.txt dosyasına Host yönergesi biçiminde yazılmıştır.

Eğer robots.txt dosyanız yoksa buraya mutlaka bakın, orada her şeyi detaylıca anlattım. Robots.txt her kaynakta bulunmalıdır. Aksi takdirde, blog başarısız olmaya mahkumdur! Robots.txt'ye ek olarak, Yandex.Webmaster'da ana site aynasını belirtmeniz gerekir.

Ancak robots.txt dosyasında zaten belirtildiği için her şeyi robotun takdirine bırakmanızı tavsiye ederim. Bunu yapmak için, "İndeksleme Ayarları / Ana Ayna" sekmesine gidin ve mermileri "Robotun takdirine bağlı olarak" öğesinin önüne koyun:

Bu işlevi kullanmak için Yandex.Webmaster'a kayıtlı olmanız gerekir. Bunun nasıl yapılacağı hakkında yazdım. Yakın zamana kadar, ana etki alanının belirtildiği Google Web Yöneticisi Araç Çubuğu'nda benzer bir işlev vardı, ancak geliştiriciler tarafından yapılan son değişikliklerden sonra ortadan kayboldu.

Ana site aynasını belirterek, kaynağınız doğru bir şekilde dizine eklenecek ve kopyalar oluşturmayacaktır. Pek çok acemi site aynasını duymamış olabilir, bu da ileride çok fazla soruna neden olan büyük bir ihmaldir ve aşağıda tartışacağım.

Ayna ile yapılan tüm işlemlerden sonra, arama robotları ana etki alanını kendileri belirleyecektir. Yönlendirmeyi bile kontrol edebilirsiniz, her şey yolunda gitmeli. Ve burada durabiliriz, ancak SEO öyle bir şeydir ki, şansa güvenmemelisiniz ve bir yönlendirme kurarak bir kez daha güvenli oynamak daha iyidir.

www önekine gelince, uzun zaman önce ortadan kalkmalıydı. Ancak ağda hala www önekine sahip birçok kaynak olduğundan, olması gereken bir yeri var. Arama motorları için http://site ve www.site bunlar tamamen farklı iki adres! Evet ve kullanıcılar genellikle kaynak adresini www'den tarayıcı satırına yönlendirir, bu nedenle ölmesi için çok erken. Buna dayanarak, ayna ayarları basitçe gereklidir!

Yanlış ayna ayarlarının sonuçları

Aslında, onlardan çok fazla değil, sadece iki ana noktayı vurguladım. Ancak, ağırlıkları birçok aceminin ciddi düşünmesini sağlayacaktır ...

1. Tüm harici bağlantılar, üçüncü taraf kaynakların veya kullanıcıların size nasıl bağlanacağına bağlı olarak www ve www olmayan adresler arasında dağıtılacaktır. Blogunuzun tanıtımını ve trafiğini olumsuz yönde etkileyecek bazı bağlantılardan mahrum kalacağı ortaya çıktı. Ama bu en kötü şey değil!

2. Arama motorlarının sürekli olarak benzersiz olmak için savaştığını herkes çok iyi biliyor! Yinelenen içerikten nefret ederler ve aynı içeriğe sahip siteleri ciddi şekilde cezalandırırlar. Şimdi öyle bir durum düşünün ki blogunuz başlangıçta www önekiyle dizine eklendi, ancak kaynak geliştikçe www öneki olmayan site daha fazla popülerlik kazandı (sıklıkla bahsedilir ve atıfta bulunulur).

Doğal olarak, bundan haberiniz bile yok ve kaynağınızı geliştirmeye devam ediyorsunuz. Zamanla, benzersiz içerik, doğal bağlantılar ve yorumlarla büyüyecek. İşler yokuş yukarı gidiyor, nasıl sevinmezsin? Ama sorun burada! Arama motorları siteyi www ön eki olmadan incelerken, benzersiz olmadığı için siteye damga vuruyor! Sonuç olarak, dizine eklenmeyi bırakacak ve zamanla dizinden tamamen çıkacaktır!

Bu korkutucu ve çok saldırgan olacak! Ve bu tür üzücü durumlardan kaçınmak için 301 yönlendirmeleri icat edildi.

www'den www olmayan alana yönlendirme ve tam tersi

Bu durumda 301 yönlendirmesini nasıl kurarım? Her şey çok basit. .htaccess dosyasını açın ve aşağıdaki kodu içine kopyalayın.

www'den www olmayanlara yönlendirme:

RewriteCond% (HTTP_HOST) üzerinde RewriteEngine ^ www.vashdomen.ru RewriteRule ^ (. *) $ Http://vashdomen.ru/$1

ve tersi:

RewriteEngine On RewriteCond% (HTTP_HOST) ^ vashdomen.ru RewriteRule (. *) Http://www.vashdomen.ru/$1

Lütfen her iki durumda da vashdomen yerine blogunuzun alan adını belirtmeniz gerektiğini unutmayın!

.htaccess dosyasını kaydedin ve eski dosyayı değiştirerek kök dizine geri taşıyın. Artık, kullanıcı blogunuzun adresini tarayıcı satırına nasıl yönlendirirse yönlendirsin (her ne kadar alan, rağmen www.site, rağmen http://www.site), yine de ana sayfaya yönlendirilecektir.

Bir etki alanından diğerine geçiş

Bir alandan diğerine geçerken yukarıdaki benzer bir 301 yönlendirme şeması kullanılabilir. Ama yine de, netlik için bir örnek vereceğim. Bir etki alanından taşınıyorsunuz sat-1.ru alan başına sait-2.com... Bu durumda .htaccess dosyasına şunu yazıyoruz:

RewriteEngine On RewriteCond% (HTTP_HOST) sait-1.ru RewriteRule (. *) Http://sait-2.com/$1

CNC bağlantılarını değiştirirken yönlendir

Bazen CNC bağlantılarını değiştirmek gerekir (onları okuyun). Belki de blogunuzdaki bir bölümün (kategori) tamamını değiştirmeye karar verdiniz. Veya CNC hakkında hiçbir şey bilmiyorlardı ve blog zaten devam ediyordu ve içerikle doluydu. Bu durumda, 301 yönlendirmeleri yardımcı olacaktır. Ayrıca bu durumda tüm sayfa göstergeleri (önceden yerleştirilmiş bağlantılar, ağırlık, PR) aynı seviyede kalacaktır, yani. önemini, otoritesini ve konumunu kaybetmeyecek!

Size basit bir örnek vereyim. Sayfanın başlığını değiştirmeye karar verdiniz. eski sayfa adı obo-mne.html, yeni isim ob-avtore.html... Bu durumda, .htaccess dosyasına aşağıdaki yapıyı yazmanız gerekecektir:

Bağlı kuruluş programları için yönlendirme

Bir kullanıcıyı bağlı kuruluş programı olan bir sayfaya yönlendirmeye karar verdiğinizi varsayalım. Bağlı kuruluş kodu şöyle görünür: http://www.partnerka.ru/?ref=35677. Böyle bir bağlantı gördükten sonra, çoğu kullanıcı, niyetlerinizi önceden bilerek onu takip etmeyecektir.

Bağlantının çekici bir görünüm kazanması için, kullanıcının bağlı kuruluş programı ile sayfaya yönlendirileceği dlya-partnerov.html gibi ayrı bir sayfa oluşturmanız gerekir. Şimdi vashdomen.ru/dlya-partnerov.html sayfasına bir bağlantı yerleştirmek ve .htaccess dosyasına aşağıdakileri yazmak kalıyor:

yönlendirme 301 dlya-partnerov.html http://www.partnerka.ru/?ref=35677

Ancak kişisel olarak, bu tür amaçlar için bahsettiğim basit senaryoyu kullanmayı tercih ediyorum (yöntem numarası 3).

Muhtemelen hepsi bu. Artık bir 301 yönlendirmesini nasıl kuracağınızı biliyorsunuz ve bununla ilgili herhangi bir sorun yaşamamalısınız. Her web yöneticisinin bilmesi gereken .htaccess üzerinden 301 yönlendirmeleri için en basit seçeneği gösterdim. Ve söylemek istediğim son şey, her zaman performans için yönlendirmeleri kontrol edin. Hepsi bu, herkese hoşçakalın!

Makaleyi nasıl buldunuz? 301 yönlendirmesi mi kullanıyorsunuz? Yönlendirmenin daha kolay yollarını biliyor musunuz? Yorumlarını bekliyoruz!

Makaleyi beğendin mi? Arkadaşlarınla ​​paylaş!

Her yorumcu için bir kitap!

Kitap, kaynağınızı tanıtmanın en etkili yöntemlerinin ayrıntılı bir açıklamasını içerir!


60 yorum

  1. 29 Kasım 2013 15:20

    Okudum ve anlamadım... Benim gibiler için geriye tek bir şey kaldı, birini bulmak, 301 yönlendirmesi kurmalarını söylemek ve her şeyi onun yaptığına güvenmek =))))

    Sonuçta, açıklamak mantıklı bir şekilde işe yaramadı ...

    Hayır, hayır, her şey çok mantıklı ve net bir şekilde yazılmış - teşekkürler!

    Sadece birçoğu tavsiyeleri takip edemeyecek kadar tembel, birçoğu projelerine ciddi önem vermiyor, bu yüzden onları akla getirmiyor. Ve bazı konularda çelişkili öneriler var. Bu nedenle, robots.txt dosyasında, ana site aynasının göstergesinin dosyanın başına yerleştirilmesi önerilir, ardından boş bir satır vardır, ardından verilerin geri kalanı. Bunun ne kadar doğru olduğunu yargılamaya cüret etmiyorum, ancak bu önerinin yazarı robots.txt dosyasının doldurulma sırası konusunda aktif olarak ısrar ediyor ve yeni başlayanlar bunu nereden anlayabilir?

    Neden hemen tembelleşiyorlar? Beyniniz oturup kod seçmek için keskinleştirilmişse, o zaman başkalarının bu armağanı yoktur ve her şeyi bunaltmamak için ya yapmazlar ya da benim durumumda olduğu gibi bir uzmana döneceğim ve o ayarlayacaktır. her şey benim için... Yani. ..

    İsim, bu seninle ilgili değil!

    Siz, SİZİN işinizde rutin teknik işleri devretmenizin şiddetle tavsiye edildiği bir uzmansınız.

    Yani - yaratın ve sizi ana işten uzaklaştıran şeyle uğraşmayın.

    Mesele şu ki, siteleri “ne olduysa” ya da “sonra bitireceğim” yapan birçok insan var. Bu yüzden zaten bildiklerimi bile tam olarak anlamadım: ana iş, diğer meseleler karışıyor ... Evet, bunu yapmamak için her zaman birçok neden olacaktır. Ancak bu, bir kişinin bir şey yapmadığı, ancak zaten başka bir şey aradığı zaman en büyük hatadır. Birikmiş ve uygulanmamış bilgi ne yazık ki işe yaramaz.

  2. 30 Kasım 2013 11:12
  3. 30 Kasım 2013 16:02
  4. Anna 30 Kasım 2013 19:59

    Sonunda yönlendirmenin ne olduğunu anladım, özellikle örneklerle, her şey iyi açıklanmış. Ve genel olarak, Nikolai'nin makalelerini, içlerinde ne olduğu, ne için olduğu ve nasıl hayata geçirileceği açık bir dilde yazıldığı için takdir ediyorum.

    Bu makalenin konusuyla ilgili tek bir soru kaldı: www ile ve www olmadan bir alan adı girip sitenin ana sayfasına gidersek, yönlendirme yapılandırılır ve hiçbir şey yazılmasına gerek kalmaz, veya her halükarda, makalede belirtilen kodu .htaccess dosyasına yazmanız gerekiyor, varsa gözlemlemiyor musunuz?

    Yeniden yönlendirme düzgün çalışıyorsa, .htaccess dosyasına herhangi bir şey yazmanıza gerek yoktur. Ama kişisel olarak, her ihtimale karşı, .htaccess'te bir yönlendirme kaydettim, daha da kötüye gitmeyecek.

    Görünüşe göre, kim www yazmıyor, hala siteye giriyor?

    Bunun sadece CMS'nin işlevselliği olduğunu düşündüm ve hiç düşünmedim ...

    İskender

    Doğru! Bu amaçlar için, bir 301 yönlendirmesi yapılandırılır. Bu, CMS'nin kendisinde yerleşik değildir.

    Bu yönlendirmenin çalışmayı durdurup durmadığını nasıl anlarım? Şimdi her şey harika!

  5. Elena 1 Şubat 2014 22:55

    Bir yorum yazdım ama gitmedim - yazık oldu. bu daha uzundu.

    Genel olarak okudum, okudum ve bana hiçbir şey gelmedi.

    Her sayfayı nasıl yönlendireceğimi söyle?

    Sonuçta, daha sonra, yeni sitede dizine eklendiğinde, eski siteden makaleleri kaldırmak ve bunları yeni sitede kaldırmak mümkündür (her bağlantıda bir yönlendirme vardır) Ve genel olarak ne olacak - arama motorlar şok olacak ve her şeyi silecek veya yeniden indeksleyecektir.

    Sitenizde bir sayfadan diğerine bir örnek gösterin - tam buraya nasıl koyacağınızı, aksi takdirde yaptım (bilgiyi internette buldum) ve hiçbir şey çıkmadı.

    Yönlendirme 301 / eski sayfa.html site.com/yeni sayfa.html

    Kalıcı / eski page.html site.com/new page.com/ yeniden yönlendir

    Sizin durumunuzda, bu makalenin paragraflarından birinde tarafımdan açıklanan CNC bağlantılarını değiştirirken yönlendirme yapacaktır. Üstelik doğru bir şekilde belirttiğiniz gibi sayfalar reindexlendikten sonra eski siteden yazıları kaldırmak ve yönlendirmeleri kaldırmak mümkün olacak. Arama motorları bu tür değişikliklere normal tepki verir. Bunu normal bir yönlendirme olarak alacaklar.

    Ve isteğiniz üzerine blogumda basit bir örnek gösteriyorum. Ziyaretçileri Tüm Blog Makaleleri sayfasından Kurslarım sayfasına yönlendirmek istediğimi varsayalım. Bu durumda, yapıyı aşağıdaki gibi yazarım:

    yönlendirme 301 vse-stati-bloga.html sitesi / moi-kursy

  6. Pavel 25 Mart 2014 23:37

    Ve .httacces dosyamda sadece aşağıdaki kod kayıtlı

    # WordPress'e BAŞLAYIN

    Yeniden YazmaMotoru Açık

    Yeniden Yazma Kuralı. /index.php [L]

    neyi değiştirmeliyim? Dosya doğru derlenmemiş mi?

  7. 29 Nisan 2014 10:39

    Nikolay, iyi günler!

    Kendi yazdığım bir web sitesini 15 sayfalık bir kartvizite çeviriyorum. Site 3 aylık ama zaten 10 numara, küçük tematik trafik var, bu yüzden her şeyi yıkmak istemiyorum. Wp'deki yeni site kurulur ve yapılandırılır, başıboş sayfalar sunucuda paralel olarak takılır, ancak kullanıcı tarafından görülmez.

    Anladığım kadarıyla, CNC için bir yönlendirme bana uygun olacak, kurulumdan sonra eski içeriğin aktarılması veya benzer bir yeni ve el yazısı sayfanın yazılması mümkün olacak, sunucudan yıkılabilir mi, yoksa ne?

    Söyle bana, lütfen, sadece eski adrese gidip yeni sayfada her şeyin doğru bir şekilde açıldığını görmek bir yönlendirmeyi test ediyor mu? Bu, arama motorlarının aynı ışıkta göreceği anlamına mı geliyor?

    Şimdiden çok teşekkür ederim!

    Merhaba Irina!

    Her şeyi doğru anlıyorsunuz ... Sizin durumunuzda CNC için bir yönlendirme iyidir. Eski sayfalar arama motorları tarafından dizine eklenmişse, eski içeriği yönlendirme olmadan yeni bir alana aktarmak kopya olarak kabul edilir, yeniden yönlendirme kullanmak daha iyidir. Ve test etmek çok basit. Eski sayfanın adresini girdiğinizde, tarayıcı sizi yeni etki alanına yönlendirirse, yönlendirme olması gerektiği gibi çalışır ve arama motorları kısa sürede içeriği yeniden indeksler. Ardından eski sarkan sayfaları sorunsuzca sunucudan kaldırabilirsiniz.

    Nikolay, hızlı cevabınız için teşekkürler!

    Sadece alan adı eski kalıyor, sadece el yazısı versiyonundan wp'ye geçiyorum ve bu kadar.

    Sunucu yanıt kodunu kontrol ettim - benim için bir sürpriz oldu

    200OK - 301 yönlendirmeleri yerine. htaccess'i açtı. Ve sen ne düşünüyorsun? Standart bir set var gibi görünüyor:

    # WordPress'e BAŞLAYIN

    Yeniden YazmaMotoru Açık

    RewriteRule ^ dizin \ .php $ - [L]

    RewriteCond% (REQUEST_FILENAME)! -F

    RewriteCond% (REQUEST_FILENAME)! -D

    Yeniden Yazma Kuralı. /index.php [L]

    Söyle bana, sunucunun yanıtı ne olursa olsun, 301 üzerinden bir yönlendirme mi ayarladın?

    Şimdiden teşekkür ederim!

    301 durum kodu, istenen sayfanın nihayet yeni bir konuma taşındığı anlamına gelir. .htaccess dosyasındaki standart kural, yeniden yönlendirmeden sorumludur. Bu durumda sunucunun yanıtının doğru gösterilmesi için gelecekte yönlendirme kaldırılabilir ve eski sayfalar sunucudan kaldırılabilir.

    Evet, anlıyorum, ancak bu yönlendirmenin nereden geldiği tam olarak belli değil, çünkü onu ben yüklemedim ve htaccess'te nasıl uygulandı. orada değil ... Görünüşe göre, wp'de indeks sayfasını oluşturup eski el yazısı sayfasını sildikten sonra, bir şekilde sistem tarafından otomatik olarak yapıştırılmış. Şimdi htcess'teki diğer sayfalara manuel olarak yönlendireceğim.

    Makale için teşekkürler.

    Nikolay, ben de cevap hızı için bir soru sormak istiyordum ama nerede olduğunu bilmiyorum. Nedense sitedeki arama benim için çalışmıyor ve konuyu spam yapmak istemiyorum.

    Üzgünüm, hattın nerede olduğunu açıklamayı unuttum

    yönlendirme 301 obo-mne.html vashdomen / ob-avtore

    hazır bir yapıya takın

    # WordPress'e BAŞLAYIN

    Yeniden YazmaMotoru Açık

    RewriteRule ^ dizin \ .php $ - [L]

    RewriteCond% (REQUEST_FILENAME)! -F

    RewriteCond% (REQUEST_FILENAME)! -D

    Yeniden Yazma Kuralı. /index.php [L]

  8. Irina 29 Nisan 2014 20:26
  9. Irina 19 Mayıs 2014 22:34

    Nikolay iyi akşamlar!

    Yardımına tekrar ihtiyaç var!

    Son olarak, Yandex ana ayna olarak www ile site.ru'yu seçti (ve www olmadığı için birimler sıfırlandı!)

    Tüm eller ulaşmadı, ama burada yapmam gerekiyor ... Sorun şu ki, yakın zamanda el yazısıyla yazılmış bir siteyi WordPress'e aktardım ve bağlantıların olduğu sayfalar zaten 301 yönlendirmeleri yeni adreslere yönlendirildi, htaccess'im şimdi şöyle görünüyor:

    301 yönlendirmesi /file.html site.ru / yeni kategori adı /

    # WordPress'e BAŞLAYIN

    Yeniden YazmaMotoru Açık

    RewriteRule ^ dizin \ .php $ - [L]

    RewriteCond% (REQUEST_FILENAME)! -F

    RewriteCond% (REQUEST_FILENAME)! -D

    Yeniden Yazma Kuralı. /index.php [L]

    Hem # END WordPress satırından önce hem de dosyanın en üstüne bir yönlendirme eklemeye çalıştım

    - yönlendirme hatası veriyor, hiç bitmeyeceğini yazıyor...

Merhaba blog sitesinin sevgili okuyucuları. Kısacası, 301 yönlendirmeleri, yinelenenlerin oluşumunu hariç tutmak ve ayrıca mevcut trafiği ve geri bağlantılardan (geri bağlantılar) gelen bağlantı ağırlığı da dahil olmak üzere site sayfalarının tüm güven göstergelerini korumak gerektiğinde çok sık kullanılır.

301 yönlendirmelerini ayarlamak için en etkili araçlardan biri, Apache yazılımını çalıştıran sunucularda bulunan ek .htaccess yapılandırma dosyasıdır. Kompleksteki verimlilik, işletme maliyeti ve işlevsellik gibi kriterleri hesaba katarsak, çeşitli görevleri çözmek için en uygun olduklarından, bu tür web sunucularını kullanır.

Bugün, bir 301 yönlendirmesinin ne zaman ve hangi koşullarda kullanılmasının en iyi çözüm olacağının tüm ayrıntılarını ve görevin gerçekleşeceğini garanti etmek için her bir özel durumda .htaccess'e hangi yönergelerin kaydedileceğini anlamaya çalışacağız. tamamlanacak.

301 yönlendirmesi nedir ve ne zaman kullanmalısınız?

Kaynağınızın SEO tanıtımının mümkün olduğunca etkili olması için, sitenin optimizasyonunu etkileyebilecek tüm yönleri kesinlikle dikkate almanız gerekir. Bunların arasında bugün düşündüğümüz mekanizma var. Kalıcı yönlendirme nedir ve ne zaman uygulanır?

Teknik olarak bu, sunucudan bir öncekinin kalıcı olarak taşındığını bildiren 301 kodlu bir HTTP yanıtından başka bir şey değildir. Uygulamada, böyle görünüyor. Arama çubuğuna eski adresi girerken tarayıcı kullanıcıyı otomatik olarak yönlendirir yeniden yönlendirmeyi ayarladıktan sonra hedef nesne olan yeni bir url'ye.

Aşağıda, kalıcı yeniden yönlendirme kullanmanın yalnızca yararlı değil, aynı zamanda son derece gerekli olduğu ana durumlardan bazıları verilmiştir. Bu nedenle, bir 301 yönlendirmesi şu durumlarda kullanılır:

  • eski sayfa url'leri birçok nedenden dolayı değiştirildi (bazılarından aşağıda bahsedeceğiz);
  • aynı sitenin farklı URL'lerde açılan yinelenen sayfalarının (tamamen aynı içeriğe sahip) görünümünü hariç tutmak gerekir. Bu aynı zamanda kaynakların tam kopyalarını da içerir. Örneğin, WWW'li ve bu öneksiz alan adlarına sahip olanlar ve ana web sitesinin aynaları;
  • yeni bir alana (lar) taşınmak;

neden böyle kalıcı bir yönlendirme yapmak önemlidir ve nihayetinde bize ne veriyor? Çok fazla ve bundan yayının en başında zaten bahsetmiştim. Ancak bu, web sitesi tanıtımı açısından son derece önemli olduğu için bir kez daha hatırlatmama izin verin.

Yönlendirme 301'i doğru bir şekilde yapılandırdıktan sonra, biriken tüm güven, geri bağlantılar tarafından iletilen bağlantı ağırlığı ve ayrıca bazıları müşterileri veya kullanıcıları içerebilecek olan ziyaretçi trafiği de dahil olmak üzere eski belgeden yeni URL ile sayfaya gönderilecektir. zaten edinmiş olduğunuz düzenli aboneler.

Ancak şu hususa dikkatinizi çekmek isterim. Yönlendirmeler (özellikle toplu miktarlarda) her zaman iyi değildir, bu yüzden onları düşüncesizce kullanmamalısınız. Elbette, arama motorları normalde kalıcı yönlendirmeyi hesaba katar (ve tüm özelliklerin eski URL'den yenisine aktarılması bir garantidir).

Ancak yine de bunları yalnızca bu faaliyetler olmadan gerçekten yapamayacağınız durumlarda kullanmanızı öneririm. Dahası, kötüye kullanılırsa Kalıcı bir yönlendirmeyi düzeltemezsiniz, ancak tam tersine durumu ağırlaştırabilirsiniz. Ayrıca bazı durumlarda yinelemeleri ortadan kaldırmak için kullanılır (ancak ek bir önlem olarak da uygundur).

Sayfa URL'si değiştiğinde kalıcı yönlendirmeler

Bir projenin geliştirilmesi sırasında, yapısının yeniden düzenlenmesi gerektiğinde durumlar ortaya çıkabilir. Örneğin, bazı makaleleri diğer bölümlere taşıyın (tabii ki, örneğin kategoriler aracılığıyla görüntüleniyorlarsa), kalıcı bağlantıları ile değiştirin veya URL'ye daha önce gözden kaçan anahtar kelimeleri ekleyin. Tüm bu durumlarda, kalıcı bir yönlendirme uygulayabilirsiniz, ancak önce kaynağınızın durumunu değerlendirin.

Eğer site çok genç(2-3 ay) ve URL'sini değiştirmek istediğiniz sayfaların harici optimizasyonunu (dışarıdan yeterli bağlantı kütlesini almak) ve bunlara gelen trafiğin küçük olması durumunda henüz düzgün bir şekilde zamanınız olmadı. makalelere tam bir yorum eksikliği ile, belki de bu tür web sayfalarını silmek daha iyidir.

Silindikten sonra, 404 hata statüsünü alacaklar (kaynağın gençliği nedeniyle birçoğu olmamalıdır, bu da önemlidir) ve yavaş yavaş arama motoru dizininden çıkarılacaktır. Bu durumda, kayıplar minimum olacaktır (uzak sayfaların ağırlık özellikleri yetersiz olacağından), ancak web kaynağının yapısını "saf" bir biçimde tutacaksınız, bu da bir artı.

Ancak siteniz zaten arama motorlarından belirli bir güven kazandıysa, kullanıcılar arasında popülerlik kazandıysa ve birkaç yüz sayfa içeriyorsa, URL'yi değiştirirken 301 yönlendirmesi olmadan yapamazsınız. Aksi takdirde yine de eski url'li sayfaları silmeye karar verirseniz, katılım ve ağırlık şeklinde kayıplar zaten ciddi olacaktır.

Yeni adreslere sahip web sayfalarının arama motorları tarafından indekslenmesi uzun zaman alacak, aynı zamanda eski ağırlıkları ve bunlarla ilişkili trafik geri yüklenecektir. Kalıcı bir yönlendirme kurarsanız, her şey neredeyse hiçbir zararlı sonuç olmadan gerçekleşir.

301 yönlendirmeleri kullanma ihtiyacı birçok kez artar yeni bir CMS'ye () geçmeyi veya kaynağın tüm bölümlerini değiştirmeyi planlıyorsanız, diğer bir deyişle, tüm url'leri bir kerede değiştirin.

Sitenin eğik çizgili ve sonunda olmayan yinelenen sayfaları (aynalar) ve index.php ile

Bu nedenle, yinelenen içeriğin web sitesi tanıtımını büyük ölçüde engellediğini biliyoruz. Bu nedenle, tamamen aynı içeriğe sahip sayfaları açacak olan hangi URL'lerin oluşturulabileceğini kendiniz kesin olarak anlamanız önerilir. Bu size sorunu zamanında çözme fırsatı verecektir.

İnternetin modern gelişimi bağlamında, çeşitli nedenlerle web yöneticileri, sitenin tüm sayfaları aynı anda iki veya daha fazla adreste mevcut olduğunda aynalarla çok sık ilgilenir.

Bu tür aynalar yapıştırılmalı ve kendiniz yapmalısınız. arama motorlarını ana alana yönlendirin web sayfalarının ağırlık kaybını ve buna bağlı olarak arama sonuçlarındaki konumlarının bozulmasını ve ardından trafiğin azalmasını önlemek için. Kalıcı bir yönlendirmenin geldiği yer burasıdır. Aşağıda en yaygın kopya durumlarını ele alacağız.

Bana göre en çarpıcı örnek onlar. Bunları birbirine yapıştırma hakkında yeterince ayrıntılı yazdım, böylece verilen bağlantıya tıklayarak bu konuyu yakından inceleyebilirsiniz.

Bu tür kopyaların index.php ve / veya index.html, index.htm (sunucu ayarlarına bağlı olarak) ile ve sonunda eğik çizgi ile ve olmadan görünümü, url'lerin yapısı ile ilişkilidir, sunucudaki belirli bir klasöre gitmek için kullanılır. URL eğik çizgi "/" ile biter, o zaman bu, sunucu işleyicisinin, içindeki dosyaları içeren dizinin (klasörün) içeriğini tam olarak görüntüleme komutudur:

Http://site.ru/klasör/

Ama eğer eğik çizgi yok, ardından dosyaya erişilir:

Http://site.ru/klasör

Bu durumda, web sunucusu "klasör" adlı dosyayı arayacaktır. Sunucular çoğunlukla, adını ve dönemini izleyen dosyaların uzantısının isteğe bağlı olduğu (Windows'tan bu şekilde farklı oldukları) Unix benzeri işletim sistemlerini (çoğunlukla Linux) kullandığından, bu oldukça mantıklıdır.

İşleyici böyle bir dosya bulamadıktan sonra, URL'de eğik çizginin eksik olduğunu tahmin eder ve bu nedenle başarıyla uygulayacağı dizini görüntülemek gerekir.

Ancak sunucu, güvenlik nedenleriyle hizmet dosyalarını görüntüleyemeyecek şekilde yapılandırılmıştır, bu nedenle bir klasöre erişirken bu adla bir nesne aramaya başlar. dizin hangi sonunda sağlayacaktır.

Tipik olarak, sitenin alan adı, sitenin adını temsil eder. kök klasör, bu nedenle, genel durumda aşağıdaki adres esasen içeriğini görüntülemek için bir komut verir:

http://site.ru/

Tüm bunlar teorik olarak sunucuda fiziksel olarak bulunan dosyalarla ilgilidir. Ancak çoğu durumda, "anında" sayfaların (ana sayfalar, bölümler, makaleler, vb.) oluşturulmasını ima eden siteleri yönetmek için içerik yönetim sistemleri (CMS) kurulur. Örneğin Wordpress'te bu, bu görevi yerine getiren yardımla gerçekleştirilir.

Bu nedenle, yukarıda verilen URL'yi tarayıcınızın arama çubuğuna yazarsanız, ana web sayfasına yönlendirilirsiniz ve başka hiçbir yere yönlendirilmezsiniz. Ancak genel sunucu ayarlarına uygun olarak şu adresten açılabilir (ve aynı içeriğe sahip olacaktır):

Http://site.ru/index.php

Bu arada, aynısı diğer web sayfaları için de geçerlidir, örneğin kategoriler (başlıklar):

Http://site.ru/category/index.php

Ve bunlar, .htaccess'teki çok kalıcı yönlendirme yoluyla kesinlikle ortadan kaldırılması gereken kopyalardır. Bu sorunun çözümünü, sadece index.php ile biten url'lerle ilgili olarak değil, aynı zamanda diğer seçenekleri de kesinlikle makalenin son bölümünde sunacağım.

Tüm nüansları daha iyi anlamak için, özellikle sitenin sayfaları için nereden öğreneceğinize atıfta bulunuyorum. Sonunda eğik çizgi olan ve olmayan URL seçenekleri sözdizimi açısından doğrudur ve PS'nin gözünde kesinlikle eşittir.

Ayrıca bu, aynı kategoriler dahil tüm web sayfaları için geçerlidir:

Http://site.ru/category http://site.ru/category/

veya makaleler (kayıtlar):

Http://site.ru/category/entry http://site.ru/category/entry/

Bu adreslerdeki sayfalar, aynı sitenin farklı aynalarının bir parçasıdır, bu da arama motorlarının olumsuz bir tutum sergilediği kopyalar oldukları anlamına gelir. Bu nedenle, yalnızca bir ana ayna seçmeniz ve onu arama motorlarına "beslemeniz" gerekir, bu da kalıcı (301'inci) bir yönlendirme yardımı ile yapılması garanti edilir.

Bu arada, WordPress kullanıyorsanız, sitenin tüm web sayfaları için gerekli URL yapısını yazın. Sadece eğik çizgi ile ve onsuz değil, başka herhangi bir sonla da istediğiniz gibi özelleştirebilirsiniz.

Örneğin, birçok web yöneticisi, büyük çoğunluğunda Windows işletim sistemi yüklü (uzantının gerekli olduğu yerlerde) kullanıcıların aşina olduğu nihai forma sahip, sonunda .html uzantılı sayfaların URL'lerini tercih eder.

Ama bu sadece güzel bir manzara, başka bir şey değil (bu arada ben bu coşkuya katılmıyorum). Yukarıda belirtildiği gibi, eğik çizgi ile biten ve onsuz biten adresler de dahil olmak üzere tüm url çeşitleri, pratik açıdan tamamen eşdeğerdir.

Eğrinin önünde olmanız ve Yandex veya Google'ın ana aynayı kendilerinin belirlemesini beklememeniz önerilir. Sonuçta arama motorlarının hangisini tercih ettiğini bilemezsiniz. Ve böyle bir durum, bir web kaynağının tanıtımını büyük ölçüde yavaşlatabilir.

Ne de olsa PS, tanıtım çabalarınızın yönlendirilmiş olabileceği ana olmayan bir aynanın dizin sayfalarından (veritabanını bir sürü işe yaramaz içerikle tıkamak tamamen kârsızdır) hariç tutacaktır. Bu, ihraçtaki pozisyon kaybı ve dolayısıyla trafik ve güven ile doludur. Korku.

Ancak, en kötü senaryoda bile, kalıcı bir yönlendirme kurma adımları sorunu çözmeye yardımcı olacaktır, en azından bu şekilde daha fazla gerilemeyi önleyebilirsiniz.

Her yinelenen site için kalıcı bir yönlendirme olup olmadığını kontrol etme

Ama önce, yine de web sitenizde işlerin nasıl olduğunu kontrol etmelisiniz. Belki de gerekli tüm ayarlar bir şekilde yapılmıştır, o zaman endişelenecek bir şey yoktur. 301 yönlendirmesinin doğru durumlarda çalışıp çalışmadığını kontrol etmenin en kolay ve hızlı yolu, adres çubuğuna tek tek farklı URL'ler girmektir:

//goldbusinessnet.com/optimizatsiya-i-raskrutka-saita/index.php

Ve sonra ne olacağını görün. Örneğin benim blogumda, ilk seçenek ana seçenek, bu nedenle ikinci ve üçüncü url'yi girdiğinizde yeniden yönlendirme gerçekleşir. Başka bir deyişle, bu aynalar zaten birbirine yapıştırılmıştır. Üç adresi de girdiğinizde aynı sayfa açılır, ancak URL'nin bileşimi her seferinde değişmeden kalırsa (yani yeniden yönlendirme yoksa), o zaman bir sorun var demektir.

Ancak alan ekleme ve yeniden yönlendirmeyi kontrol etmenin daha gelişmiş yolları da vardır. Bunlar, örneğin, web yöneticilerinin böyle bir optimizasyon gerçekleştirmesi için arama motorlarının kendilerine sorma fırsatını içerir. Örneğin, index.php içeren url'lerden bu son olmadan bir URL'ye yönlendirme olup olmadığını kontrol etmek için Yandex için arama çubuğuna aşağıdaki sorguyu girmeniz gerekir:

URL: site | url: site / index.php

"Bul" düğmesine tıkladıktan sonra bir cevap alacaksınız. Bir sonuç varsa (aşağıdaki ekran görüntüsünde olduğu gibi), o zaman her şey "Tamam". Başka bir deyişle, yönlendirme yapıldı:


Sadece Yandex için hangi ayna sayfalarının ana olduğunu bulmanız gerekiyor. Bunu yapmak için, imleci görüntülenen başlığa veya URL'ye getirin ve tarayıcı penceresinin sol alt kısmındaki adres çubuğunda hangi seçeneğin göründüğünü görün.

Ancak en güvenilir doğrulama yöntemi bence sunucu yanıtı almaktır. Bu durumda, yeniden yönlendirme setinin doğruluğunu veya tamamen yokluğunu değerlendirebileceğiniz bir HTTP durum kodu alacaksınız. Test edilecek url'yi girip "Kontrol Et" butonuna tıklayarak bunun için özel bir Yandex servisi kullanalım:


Sonuç olarak, index.php ile biten URL için, ana Yandex robotunun kanıtlanması gereken "301 Kalıcı Olarak Taşındı" yanıtını aldığını öğrendik. Aynı şekilde, sitenizdeki herhangi bir sayfa grubu için kalıcı bir yönlendirmeyi kontrol edebilirsiniz. Bu arada, Google aramayı da kullanabilirsiniz (bu, WWW'li ve WWW'siz alan adlarıyla ilgili makalede de belirtilmiştir).

htaccess ile 301 yönlendirmesi nasıl yapılır

Bu nedenle, bu kılavuzda verilen bilgilere dayanarak, belirli bir sorunu çözmek için kalıcı bir yönlendirmeye ihtiyacınız olduğuna karar verdiniz. Yüksek bir olasılıkla, sitenizin Apache yazılımı tarafından kontrol edilen bir sunucuda olduğu iddia edilebilir (her ihtimale karşı, bu durumda barındırma sağlayıcınıza danışın).

Apache sunucuları mükemmel bir yapılandırma aracına, yani httpd.conf dosyasına sahiptir. İlgili direktif içinde yazılıysa, her web yöneticisi harika bir dosya kullanma fırsatı elde eder. ek bir yapılandırma dosyası olan .htaccess ve siteyi optimize etmeye yardımcı olur.

Temel olarak, bu araç httpd.conf ile aynı işlevselliğe sahiptir, yalnızca içinde belirtilen yönergeler yalnızca bulunduğu dizine uygulanır. Böylece, .htaccess'i sitenin kök klasörüne koyarsanız, belirli bir web kaynağı için, istenen sayfalara kalıcı yönlendirmeler de dahil olmak üzere çeşitli ayarlar yapabilirsiniz.

Bu dosyaya aynı Filezilla formundaki uygun yazılım kullanılarak kolayca erişilebilir. Basit bir düzenleyicide değil, "altın" olanda, yani birkaç adım geri almanın mümkün olduğu yerde değişiklik yapmanız önerilir:


Birdenbire bu dosya sitenizin barındırıldığı sunucuda değilse, kendiniz oluşturabilirsiniz. Bu, FTP yoluyla bağlanma özelliğini de destekleyen aynı NotePad ++ programı kullanılarak doğrudan sunucuda yapılabilir.

Devam etmeden önce, herhangi bir düzenlemeden önce .htaccess'in güvenilirlik için olması gerektiğini hatırlatmak istiyorum. yedekle... Bu, başarısız eylemler ve siteye erişim kaybı durumunda her şeyi olduğu gibi iade edebilmeniz için gereklidir.

Benim düşünceme göre, bundan daha önce bahsetmiştim, ancak kalıcı bir yönlendirmenin bir 301 HTTP yanıt kodu olduğunu hatırlatmak günah değil, bu da bir url'den diğerine sonsuz bir yönlendirme anlamına gelir ve neredeyse tüm ağırlık özellikleri korunur. sayfalar.

Bu arada, yakın gelecekte tüm yaygın sunucu yanıt kodları hakkında ayrı bir yayın olacak, bu nedenle yalnızca bu makaleyi kaçırmamak için değil, genel olarak tüm haberlerden haberdar olmak için blog posta listesine abone olun. alan.

Şimdi her bir özel durum için .htaccess aracılığıyla bir 301 yönlendirmesinin nasıl ayarlanacağını görelim. Bunu yapmak için modülün hizmetlerini kullanmamız gerekiyor. mod_rewrite Apache sunucularında URL dönüşümü için tasarlanmıştır.

Genellikle varsayılan olarak devre dışıdır. Bu modülü etkinleştirmek için .htaccess dosyasına kaydolmanız gerekir. "Yeniden Yazma Motoru açık":

Yeniden YazmaMotoru açık

Ve sitenizle ilgili olarak bu uzantının eylemini tamamen doğru bir şekilde başlatmak için aşağıdaki satırları kaydetmeniz gerekir:

Seçenekler + FollowSymLinks RewriteEngine on RewriteBase /

İlk satır, fiziksel olarak nesne dizininin dışında olan, ancak genel olarak Windows'taki kısayollara benzer şekilde kısayolları olan dosyaları işlemenize izin verir.

İkincisi, dediğim gibi, mod_rewrite modülünün kendisini içerir. Peki, üçüncü ( Yeniden Yazma Tabanı /), sonraki yönergelerin özellikle sitenin URL'lerine uygulanması için sunucu kökünden sitenin kök dizinine giden tam yolu kısaltmanıza olanak tanır. Bu yapılmazsa, sorunlar ortaya çıkabilir.

Buradaki basit bir eğik çizgi "/", ana sayfa (veya kök klasöre) için göreceli bir yolu belirtir ve formasyonda kullanılır. 301. yönlendirme için aynı anda birden fazla yönerge yazmak istiyorsanız, her kuraldan önce yukarıdaki satırları tekrarlamanıza gerek yoktur.

Şimdi uygulamaya başlayalım ve en kolay olanla başlayalım. Herhangi bir nedenle, tek tek sayfaların URL'lerini seçici olarak değiştirmeniz gerekirse, şunu belirtiriz: yeni bir adrese basit yönlendirme:

Yönlendirme 301 / sayfa-adı1 / http://site.ru/sayfa-adı2/

Bu durumda, göreli yol (/ sayfa1-adı1 /) eski sayfa url'sini temsil etmek için kullanılır ve mutlak yol ("http://" ile başlayan) yeni URL için kullanılır, çünkü sayfa-by- sayfa yönlendirmesi başka bir siteye de yapılabilir. Burada iki adres arasında boşluk bırakılmasına dikkat etmelisiniz.

Sayfalar kategoriler üzerinden görüntüleniyorsa, bunlardan herhangi birini başka bir başlığa taşıdığınızda elbette adres değişecektir. Aşağıdaki örnekte, yalnızca URL'nin kategoriyle ilişkili kısmı değil, aynı zamanda sayfanın adına karşılık gelen bitiş de değiştiğinde genel bir durum verilmiştir:

Yönlendirme 301 / kategori1 / sayfa-adı1 / http://sait.ru/category2/page-name2/

Örneğin, .php uzantılı adresin sonunu .html ile sonuna değiştirirken, kaynağın tüm sayfaları için bir kerede kalıcı bir yönlendirme yapmanız gerekiyorsa, yönerge zaten kullanılıyor demektir. YönlendirmeMaç normal ifadelere izin vermek:

RedirectMatch 301 (. *) \. Php $ http: //site.ru$1.html

Şimdi, birden çok yinelemeyi ortadan kaldırmaya yardımcı olacak bir sayfadan diğerine 301 yönlendirmeleri için daha karmaşık seçeneklere geçelim. Bu makalede yukarıda açıklanan durumlarla ilgili en sık kullanılan yönlendirmelere bakalım.

WWW olan ve olmayan alanlar için kalıcı yönlendirme nasıl kurulur, me. Ama yine de bu bilgiyi eksiksiz olması adına tekrarlayacağım. Yani, kalıcı bir yönlendirme yapmak için WWW adresini içeren URL'den bu önek olmadan url'ye, .htaccess dosyanıza aşağıdaki kuralı eklemeniz gerekir:

RewriteCond% (HTTP_HOST) ^ www \. (. *) RewriteRule ^ (. *) $ Http: //% 1 / $ 1

Ve tam tersi, sayfaların url'sinde üç W şeklinde temel bir büyüme bırakmak istiyorsanız, bir yönlendirme yapmanız gerekir. WWW'siz adreslerden WWW'deki URL'lere direktif aracılığıyla:

RewriteCond% (HTTP_HOST) ^ (. *) $ RewriteCond% (HTTP_HOST)! ^ Www \. RewriteRule ^ (. *) $ Http: //www.%1/$1

Yeniden YazmaCond kuralın yürütüleceği koşulu tanımlar Yeniden Yazma Kuralı(yani, yönlendirmenin kendisi). Bu arada, dilerseniz, ana mod_rewrite yönergelerinin uygulanmasının ayrıntılı bir analizine aşina olabilirsiniz.

WWW'den dışa ve tam tersine yönlendirme seçenekleri evrenseldir ve prensipte çalışmalıdırlar. Ancak, alana özgü yönergeler yine de daha güvenilir olacaktır. Bu önek olmadan WWW'den kalıcı bir yönlendirmeye ilişkin kural şu ​​şekilde görünür:

RewriteCond% (HTTP_HOST) ^ www \ .site \ .ru $ RewriteRule ^ (. *) $ Http://site.ru/$1

Ve ters yönlendirme (WWW'den WWW'ye) şöyledir:

RewriteCond% (HTTP_HOST) ^ site \ .ru $ RewriteRule ^ (. *) $ Http://www.site.ru/$1

İkinci yöntem tam olarak birinciden daha iyi olan nedir? Gerçek şu ki, adreste yalnızca üç W'nin yokluğunu veya varlığını değil, etki alanının kendisinin de tam uyumluluk için kontrol edilmesidir. Sadece "site" ve ".ru" yerine alan adınızı ve alan bölgenizi eklemeyi unutmayın.

Şimdi index.php'den yinelenen sayfalar oluşturan aynaları yapıştırmaya çalışalım (uzantılar farklı olabilir, örneğin .htm veya .html). Yani, 301, index.php içeren URL'lerden bu son olmadan kaynak sayfalarına yönlendirme yapar:

RewriteCond% (THE_REQUEST) ^.* / Index.php RewriteRule ^ (. *) Index.php $ http: //% (HTTP_HOST) / 1 $

Sonunda eğik çizgi olmayan adreslerden eğik çizgili URL'lere kalıcı yönlendirme uygulamak da mümkündür:

RewriteCond% (REQUEST_URI)! \? RewriteCond% (REQUEST_URI)! \ & RewriteCond% (REQUEST_URI)! \ = RewriteCond% (REQUEST_URI)! \. RewriteCond% (REQUEST_URI)! \ / $ RewriteRule ^ (. * [^ \ /]) $ / $ 1 /

Ve bir geri arama böyle görünür, yani, eğik çizgili URL'lerden eğik çizgi içermeyen URL'lere:

RewriteCond% (REQUEST_URI)! \? RewriteCond% (REQUEST_URI)! \ & RewriteCond% (REQUEST_URI)! \ = RewriteCond% (REQUEST_URI)! \. RewriteCond% (REQUEST_URI)! [^ \ /] $ RewriteRule ^ (. *) \ / $ / $ 1

Doğal olarak, kalıcı yönlendirmenin uygulandığı durumların çeşitliliği yukarıdaki örneklerle sınırlı değildir, bunlardan çok daha fazlası vardır ve her durumda durumu düzeltmek ve ağırlaştırmamak için doğru yönergeler hazırlamak gerekir.

Yayında dile getirilen konu, özellikle deneyimsizler için, kendi kendine yeterli bir materyal olarak oldukça karmaşık olduğundan, 301 yönlendirmelerini uygulamak için çeşitli direktifleri derleme prosedürü hakkındaki videoyu izleyin:

Bir durumda doğru kararı vermek için, son derece yararlı bilgiler alabileceğiniz Runet'te iyi bilinen bir optimize edici olan Alexander Alaev'in bu konudaki kılavuzunu okumanızı şiddetle tavsiye ederim. Ayrıca, Google ve Yandex (ler) in resmi materyalleri gereksiz olmayacak ve eksik bilgileri de alacaksınız.

Ve işte başka bir şey. Belki de makalede sağlanan kalıcı yönlendirme kuralları belirli bir durumda yanlış çalışacak veya hiç çalışmayacaktır. Ardından, sorunu çözmek için barındırma sağlayıcınızla iletişim kurma fırsatını kaçırmayın. Kendine saygısı olan her ev sahibi, mümkün olan tüm yardımı sağlayacak yetkin uzmanlara sahiptir. Nihayetinde sorumluluk onlarındır.

Son ipucu... Geriye bakmadan yönlendirmeler oluşturmak için acele etmeden önce, bu makalenin bölümlerinden birinde yayınladığım varlıklarını kontrol ettiğinizden emin olun. Muhtemelen herhangi bir işlem yapmanız gerekmeyecektir. Sonuçta, popüler site motorlarının çoğunun geliştiricileri durumu izliyor. Bu nedenle, yinelenen sorunların birçoğunun zaten ilk etapta çözülmüş olması muhtemeldir.

Sonuç olarak, yalnızca kalite açısından birinciden daha düşük olmakla kalmayıp, bir anlamda onu tamamlayan başka bir video öneriyorum:

Belirli bir sayfa adresine erişilirken döndürülen 301. hata (301 Kalıcı Yönlendirme), sitenin kalıcı olarak HTTP başlığında belirtilen yeni bir adrese taşındığı anlamına gelir. Hem tarayıcıdan giriş yapan kullanıcılar hem de arama botları yeni adrese yönlendirilirken, arama motorları için eski adresin (sayfa) tüm özellikleri yeni URL'ye aktarılacaktır. 301 yönlendirmesi ile eski ve yeni URL'ler birbirine yapıştırılacaktır: PageRank ve TCI gibi parametreler ile eski URL'nin sayfa ağırlığı ve bağlantı ağırlığı yeni URL'ye aktarılacaktır.

301 hata numarasıyla (kalıcı olarak taşınır) yönlendirme, bir web sitesini yeni bir alana taşırken veya içerik yönetim sistemini değiştirirken arama motorlarındaki sıralamasını korumanın en iyi yoludur. Yönlendirme, yüklenen yazılıma bağlı olarak birkaç şekilde yapılabilir.

.htaccess'te 301 yönlendirmesi

Sunucuda apache kullanırken, yeniden yönlendirme basitçe .htaccess dosyası kullanılarak yapılabilir, ancak mod_alias modüllerini (Redirect, RedirectPermanent ve RedirectMatch yönergelerini desteklemek için) ve/veya mod_rewrite'ı (yeniden yazmayı kullanmak için) etkinleştirmeyi unutmayın. php.ini.

mod_alias modülünün Redirect veya RedirectPermanent yönergesini kullanarak yeniden yönlendirme

Bu yöntemin dezavantajı, yeniden yönlendirilmesi gereken tüm adreslerin ayrı ayrı listelenmesi gerektiğidir. Benzer amaçlar için RedirectPermanent'i de kullanabilirsiniz.

RedirectMatch yönergesini kullanarak yönlendirme

Bu yönlendirme, eski URL'ler için normal bir ifade kullanabilmeniz dışında öncekine benzer. Örneğin, motoru PHP'den ASP'ye değiştirirken, eski adresleri aşağıdaki gibi yönlendirebilirsiniz:

RedirectMatch /(.*).php$ /$1.aspx

mod_rewrite modülünün RewriteRule yönergesini kullanarak yeniden yönlendirme

RewriteRule yönergesini kullanmak için httpd.conf'da mod_rewrite modülünün ve FollowSymLinks seçeneğinin etkin olduğundan emin olmanız gerekir. Modülün yeniden yazma özelliğinin kullanılması, sayfaları yeni adreslere yönlendirmek için birçok olanak sağlar.

www'den www olmayanlara alan yönlendirmesi

Seçenekler + FollowSymLinks
Yeniden YazmaMotoru Açık
RewriteCond% (HTTP_HOST) ^ www. (. *)
RewriteRule ^ (. *) $ Http: //% 1 / $ 1

veya alternatif, daha net bir sözdizimi

Seçenekler + FollowSymLinks
Yeniden YazmaMotoru Açık
RewriteCond% (HTTP_HOST) ^ www.domain.com $
RewriteRule ^ (. *) $ Http://domain.com/$1

www öneki ile www olmayan etki alanına istekleri yönlendirme

Seçenekler + FollowSymLinks
Yeniden YazmaMotoru Açık
RewriteCond% (HTTP_HOST) ^ domain.com $
RewriteRule ^ (. *) $ Http://www.domain.com/$1

Veya alternatif olarak

Yeniden YazmaMotoru Açık
RewriteCond% (HTTP_HOST)! ^ Www. (. *)
RewriteRule ^ (. *) $ Http: //www.%1/$1

Komut dosyası kullanarak yönlendirme (başlıklar gönderme)

İstemciye gerekli başlıkları göndererek komut dosyalarını kullanarak istekleri de yönlendirebilirsiniz.

PHP yönlendirmesi

başlık (“HTTP /1.1 301 Kalıcı Olarak Taşındı”);
başlık (“Konum: http://www.newdomain.ru/newdir/newpage.htm”);
çıkış ();
?>

ASP yönlendirmesi

<%@ Language=VBScript %>
<%
Response.Status = “301 Kalıcı Olarak Taşındı”
Response.AddHeader “Konum”, “http://www.new-url.com”
yanıt.son
%>

ASP .NET yönlendirmesi

ColdFusion yönlendirmesi

<.cfheader statuscode=“301” statustext=“Moved permanently”>
<.cfheader name=“Location” value=“http://www.new-url.com”>

JSP (Java) yönlendirmesi

<%
yanıt.setStatus (301);
answer.setHeader (“Konum”, “http://www.new-url.com/”);
answer.setHeader (“Bağlantı”, “kapat”);
%>

CGI PERL

$ q = yeni CGI;
$ q-> yönlendirmesini yazdır (“http://www.new-url.com/”);

raylar üzerinde yakut

def eski_eylem
başlıklar [“Durum”] = “301 Kalıcı Olarak Taşındı”
yönlendirme_to "http://www.new-url.com/"
son