{"id":8706,"date":"2024-11-09T21:16:00","date_gmt":"2024-11-09T18:16:00","guid":{"rendered":"https:\/\/sunucucozumleri.com\/blog\/?p=8706"},"modified":"2024-11-09T21:16:00","modified_gmt":"2024-11-09T18:16:00","slug":"wordpress-yazi-linklerini-sql-ile-almak-ve-htaccess-yonlendirmeleri-olusturmak","status":"publish","type":"post","link":"https:\/\/sunucucozumleri.com\/blog\/wordpress-yazi-linklerini-sql-ile-almak-ve-htaccess-yonlendirmeleri-olusturmak\/","title":{"rendered":"WordPress Yaz\u0131 Linklerini SQL ile Almak ve .htaccess Y\u00f6nlendirmeleri Olu\u015fturmak"},"content":{"rendered":"<p><strong>Giri\u015f<\/strong><\/p>\n<p>WordPress sitelerinde kal\u0131c\u0131 ba\u011flant\u0131 yap\u0131s\u0131n\u0131 de\u011fi\u015ftirdi\u011finizde, eski ba\u011flant\u0131lardan yeni ba\u011flant\u0131lara y\u00f6nlendirme yapmak \u00f6nemlidir. Bu, SEO s\u0131ralaman\u0131z\u0131n korunmas\u0131na ve kullan\u0131c\u0131 deneyiminin iyile\u015ftirilmesine yard\u0131mc\u0131 olur. E\u011fer y\u00f6nlendirmeleri elle eklemek \u00e7ok zahmetli hale geliyorsa, SQL sorgular\u0131 kullanarak WordPress veritaban\u0131ndan gerekli verileri \u00e7ekip otomatik y\u00f6nlendirme kurallar\u0131n\u0131 olu\u015fturabilirsiniz. Bu makalede, WordPress\u2019te yaz\u0131lar\u0131n permalink (kal\u0131c\u0131 ba\u011flant\u0131) adreslerini SQL sorgular\u0131 ile nas\u0131l alaca\u011f\u0131n\u0131z\u0131 ve bunlar\u0131 .htaccess y\u00f6nlendirme kurallar\u0131 \u015feklinde \u00e7\u0131kt\u0131 almay\u0131 ad\u0131m ad\u0131m ele alaca\u011f\u0131z.<\/p>\n<p><strong>WordPress Veritaban\u0131 Yap\u0131s\u0131n\u0131 Anlamak<\/strong><\/p>\n<p>WordPress, yaz\u0131lar ve sayfalar gibi i\u00e7erikleri <code>wp_posts<\/code> tablosunda saklar. Bu tablo, her i\u00e7eri\u011fin ba\u015fl\u0131\u011f\u0131, i\u00e7eri\u011fi, yay\u0131n tarihi gibi bir\u00e7ok bilgiyi i\u00e7erir. Kal\u0131c\u0131 ba\u011flant\u0131 (permalink) k\u0131sm\u0131 ise <code>post_name<\/code> s\u00fctununda saklan\u0131r ve her yaz\u0131ya \u00f6zg\u00fcd\u00fcr. Yay\u0131nlanma durumu, i\u00e7erik tipi gibi bilgileri kullanarak hangi i\u00e7eriklerin yaz\u0131, hangilerinin sayfa oldu\u011funu ay\u0131rt edebiliriz.<\/p>\n<p>Kal\u0131c\u0131 ba\u011flant\u0131lar\u0131 veritaban\u0131ndan \u00e7ekmek i\u00e7in dikkate almam\u0131z gereken \u00f6nemli s\u00fctunlar \u015funlard\u0131r:<\/p>\n<ul>\n<li><code>post_name<\/code>: Kal\u0131c\u0131 ba\u011flant\u0131 olarak kullan\u0131lan yaz\u0131 ad\u0131 (slug).<\/li>\n<li><code>post_date<\/code>: Yay\u0131nlanma tarihi. Kal\u0131c\u0131 ba\u011flant\u0131 yap\u0131s\u0131 tarih bilgisi i\u00e7eriyorsa, bu s\u00fctun gerekli olacakt\u0131r.<\/li>\n<li><code>post_type<\/code>: \u0130\u00e7erik t\u00fcr\u00fc. Sadece <code>post<\/code> olanlar yaz\u0131 olarak kabul edilir.<\/li>\n<li><code>post_status<\/code>: \u0130\u00e7erik durumu. Yaln\u0131zca <code>publish<\/code> (yay\u0131nlanm\u0131\u015f) olanlar\u0131 almak isteyebiliriz.<\/li>\n<\/ul>\n<p><strong>SQL ile WordPress Yaz\u0131 Linklerini Alma<\/strong><\/p>\n<p>\u0130lk olarak, basit bir permalink yap\u0131s\u0131nda olan kal\u0131c\u0131 ba\u011flant\u0131lar\u0131 almak i\u00e7in SQL sorgusunu olu\u015ftural\u0131m. \u00d6rne\u011fin, WordPress\u2019in kal\u0131c\u0131 ba\u011flant\u0131 yap\u0131s\u0131 yaln\u0131zca yaz\u0131 ad\u0131n\u0131 i\u00e7eriyorsa (<code>\/yazi-adi\/<\/code>), \u015fu SQL sorgusunu kullanabiliriz:<\/p>\n<blockquote><p>SELECT CONCAT(<br \/>\n&#8216;RewriteRule ^&#8217;, post_name, &#8216;\/$ \/blog\/&#8217;, post_name, &#8216;\/ [R=301,L]&#8217;<br \/>\n) AS redirect_rule<br \/>\nFROM wp_posts<br \/>\nWHERE post_type = &#8216;post&#8217;<br \/>\nAND post_status = &#8216;publish&#8217;;<\/p><\/blockquote>\n<p>Bu sorgu, her yaz\u0131 i\u00e7in <code>RewriteRule<\/code> komutunu olu\u015fturur ve <code>redirect_rule<\/code> ad\u0131nda bir s\u00fctun d\u00f6nd\u00fcr\u00fcr. \u00c7\u0131kt\u0131lar, eski ba\u011flant\u0131lar\u0131 <code>\/blog\/yazi-adi\/<\/code> yap\u0131s\u0131na y\u00f6nlendirecek \u015fekilde olu\u015fturulmu\u015ftur.<\/p>\n<p><strong>Tarih Bilgisine Dayal\u0131 Kal\u0131c\u0131 Ba\u011flant\u0131 Yap\u0131s\u0131<\/strong><\/p>\n<p>E\u011fer kal\u0131c\u0131 ba\u011flant\u0131 yap\u0131n\u0131z <code>\/yil\/ay\/yazi-adi\/<\/code> gibi tarih bilgisi i\u00e7eriyorsa, <code>post_date<\/code> s\u00fctununu da kullanmal\u0131s\u0131n\u0131z. Bu durumda SQL sorgusu \u015f\u00f6yle olur:<\/p>\n<blockquote><p>SELECT CONCAT(<br \/>\n&#8216;RewriteRule ^&#8217;, YEAR(post_date), &#8216;\/&#8217;, LPAD(MONTH(post_date), 2, &#8216;0&#8217;), &#8216;\/&#8217;, post_name, &#8216;\/$ \/blog\/&#8217;, post_name, &#8216;\/ [R=301,L]&#8217;<br \/>\n) AS redirect_rule<br \/>\nFROM wp_posts<br \/>\nWHERE post_type = &#8216;post&#8217;<br \/>\nAND post_status = &#8216;publish&#8217;;<\/p><\/blockquote>\n<p>Bu sorgu, yay\u0131n tarihine g\u00f6re <code>\/2024\/11\/yazi-adi\/<\/code> gibi ba\u011flant\u0131 yap\u0131s\u0131na uygun y\u00f6nlendirme kurallar\u0131n\u0131 \u00e7\u0131kar\u0131r. Sorgu sonu\u00e7lar\u0131 yine <code>.htaccess<\/code> dosyas\u0131na eklenmeye uygun \u015fekilde listelenir.<\/p>\n<p><strong>\u00c7\u0131kt\u0131 \u00d6rnekleri<\/strong><\/p>\n<p>Yukar\u0131daki sorgulardan herhangi birini \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, \u015fu \u015fekilde bir \u00e7\u0131kt\u0131 elde edersiniz:<\/p>\n<blockquote><p>RewriteRule ^2024\/11\/how-to-install-nmap-network-scanner-on-linux\/$ \/blog\/how-to-install-nmap-network-scanner-on-linux\/ [R=301,L]<br \/>\nRewriteRule ^2024\/11\/another-sample-post\/$ \/blog\/another-sample-post\/ [R=301,L]<\/p><\/blockquote>\n<p>Her sat\u0131r, eski permalink yap\u0131s\u0131n\u0131 yeni <code>\/blog\/<\/code> alt dizinine y\u00f6nlendirir. Bu kurallar <code>.htaccess<\/code> dosyas\u0131na eklenerek, ziyaret\u00e7iler veya arama motorlar\u0131 eski ba\u011flant\u0131lara eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131nda otomatik olarak yeni ba\u011flant\u0131ya y\u00f6nlendirilir.<\/p>\n<p><strong>Y\u00f6nlendirme Kurallar\u0131n\u0131 .htaccess Dosyas\u0131na Eklemek<\/strong><\/p>\n<p>Elde edilen \u00e7\u0131kt\u0131y\u0131 <code>.htaccess<\/code> dosyan\u0131za ekleyerek 301 y\u00f6nlendirmelerini aktif hale getirebilirsiniz. <code>.htaccess<\/code> dosyas\u0131n\u0131n WordPress kurulumunuzun ana dizininde bulundu\u011fundan emin olun. \u00c7\u0131kt\u0131y\u0131 dosyan\u0131n en alt\u0131na eklemek en iyi y\u00f6ntemdir.<\/p>\n<p><strong>\u00d6rnek .htaccess Ekleme<\/strong><\/p>\n<blockquote><p># Eski yaz\u0131 linklerini yeni blog ba\u011flant\u0131lar\u0131na y\u00f6nlendirme<br \/>\nRewriteEngine On<\/p>\n<p>RewriteRule ^2024\/11\/how-to-install-nmap-network-scanner-on-linux\/$ \/blog\/how-to-install-nmap-network-scanner-on-linux\/ [R=301,L]<br \/>\nRewriteRule ^2024\/11\/another-sample-post\/$ \/blog\/another-sample-post\/ [R=301,L]<\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<p><code>.htaccess<\/code> dosyas\u0131ndaki <code>RewriteEngine On<\/code> komutunun aktif oldu\u011fundan emin olun. Bu kural, eski URL\u2019yi 301 y\u00f6nlendirmesi ile kal\u0131c\u0131 olarak yeni URL\u2019ye ta\u015f\u0131r. Arama motorlar\u0131 bu y\u00f6nlendirmeyi g\u00f6r\u00fcr ve eski ba\u011flant\u0131n\u0131n yerine yeni ba\u011flant\u0131y\u0131 dizinlerinde g\u00fcnceller.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>WordPress sitenizdeki eski ba\u011flant\u0131lar\u0131 SQL kullanarak otomatik bir \u015fekilde yeniden y\u00f6nlendirmek, \u00f6zellikle kal\u0131c\u0131 ba\u011flant\u0131 yap\u0131n\u0131z\u0131 de\u011fi\u015ftirdi\u011finizde veya ba\u011flant\u0131lar\u0131n alt dizinlerde yer almas\u0131n\u0131 istedi\u011finizde olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r. Bu y\u00f6ntemle eski yaz\u0131 URL\u2019lerinizi g\u00fcncelleyerek SEO s\u0131ralaman\u0131z\u0131 koruyabilir ve kullan\u0131c\u0131lar\u0131n eski linklere t\u0131klad\u0131\u011f\u0131nda hata sayfas\u0131 yerine ilgili i\u00e7eri\u011fe y\u00f6nlendirilmesini sa\u011flayabilirsiniz.<\/p>\n<p>SQL sorgular\u0131n\u0131 kullanarak veritaban\u0131n\u0131zdan kolayca y\u00f6nlendirme kurallar\u0131 olu\u015fturabilir ve sitenizin performans\u0131n\u0131 art\u0131rabilirsiniz.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Giri\u015f WordPress sitelerinde kal\u0131c\u0131 ba\u011flant\u0131 yap\u0131s\u0131n\u0131 de\u011fi\u015ftirdi\u011finizde, eski ba\u011flant\u0131lardan yeni ba\u011flant\u0131lara y\u00f6nlendirme yapmak \u00f6nemlidir. Bu, SEO s\u0131ralaman\u0131z\u0131n korunmas\u0131na ve kullan\u0131c\u0131 deneyiminin iyile\u015ftirilmesine yard\u0131mc\u0131 olur. E\u011fer y\u00f6nlendirmeleri elle eklemek \u00e7ok zahmetli hale geliyorsa, SQL sorgular\u0131 kullanarak WordPress veritaban\u0131ndan gerekli verileri \u00e7ekip otomatik y\u00f6nlendirme kurallar\u0131n\u0131 olu\u015fturabilirsiniz. Bu makalede, WordPress\u2019te yaz\u0131lar\u0131n permalink (kal\u0131c\u0131 ba\u011flant\u0131) adreslerini SQL sorgular\u0131 ile &hellip;<\/p>\n","protected":false},"author":1,"featured_media":8708,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[11],"tags":[],"class_list":["post-8706","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress"],"acf":[],"_links":{"self":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/8706","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/comments?post=8706"}],"version-history":[{"count":0,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/8706\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media\/8708"}],"wp:attachment":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media?parent=8706"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/categories?post=8706"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/tags?post=8706"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}