WordPress’teki Yoast SEO site haritanızda 404 hatasıyla uğraşmak sinir bozucu olabilir. Yoast SEO popüler bir araçtır, ancak bazen bir eklenti çakışması veya yanlış ayarlar bu hataya neden olabilir.
Dolayısıyla, XML site haritanızı ziyaret etmeye çalışırsanız ve 404 hatası görürseniz, bu sizi yolunuzdan alıkoyabilir. Ancak endişelenmeyin, kolay düzeltmeler var.
WPBeginner’da bu sorunla yüzlerce kez olmasa da karşılaştık ve çözdük. Bu makalede, Yoast SEO site haritası 404 hatasını düzeltmek için size adım adım rehberlik edeceğiz. Site haritanızın tekrar sorunsuz çalışmasını sağlamak için takip edin.
WordPress’te Yoast SEO Site Haritası 404 Hatasına Neden Olan Nedir?
Yoast SEO site haritası, arama motorlarının web sitenizde bulmasını ve dizine eklemesini istediğiniz tüm içeriği bulmasına yardımcı olur.
Hatanın düzeltilmesi, arama motorlarının site haritanıza erişebilmesini ve sitenizdeki tüm sayfaları ve içeriği keşfedebilmesini sağlar. Bu, daha iyi arama motoru görünürlüğü ve sıralaması sağlayabilir ve ayrıca içeriğinizin site haritası olmadan daha hızlı sır alanmasına yardımcı olur.
WordPress, Google Search Console ve diğer arama motorlarına gönderebileceğiniz varsayılan bir XML site haritasına sahiptir.
Bu XML site haritası, tarayıcınızın adres çubuğuna aşağıdaki URL girilerek ziyaret edilebilir:
https://example.com/sitemap.xml
Ancak, WordPress tarafından oluşturulan bu varsayılan site haritası çok basittir. Bunu düzeltmek için Yoast SEO ve All in One SEO eklentisi gibi tüm üst düzey WordPress SEO eklentileri daha fazla özelliğe sahip kendi XML site haritalarını oluşturur.
WordPress SEO eklentiniz tarafından oluşturulan XML site haritasını kullandığınızda, eklenti varsayılan WordPress XML site haritası kısayolunu yeniden yazar.
Bu, yukarıda belirtilen site haritası URL’sinin kullanıcıları WordPress SEO eklentiniz tarafından oluşturulan site haritalarına göndereceği anlamına gelir.
Ne yazık ki bu, eklenti çakışmaları veya yanlış WordPress ayarları nedeniyle bazı web sitelerinde 404 hatasına neden olabilir.
Aşağıdaki bölümlerde, Yoast SEO eklentisinde WordPress site haritası 404 hatasını nasıl kolayca düzeltebileceğinizi göstereceğiz. İşte ele alacağımız tüm yöntemlere hızlı bir genel bakış:
Hazır mısınız? Hemen başlayalım.
1. WordPress Kalıcı Bağlantı Yapısını Yenileyin
WordPress, permalinks adı verilen SEO dostu bir URL yapısıyla birlikte gelir. Bu URL yapısı, bir kullanıcı tarayıcısına bir URL girdiğinde web barındırma sunucunuza hangi sayfanın yükleneceğini söylemek için bir yönlendirme sistemi kullanır.
Normalde, web sitenizde değişiklik yaptığınızda bu kalıcı bağlantı ayarları otomatik olarak güncellenir.
Kötü haber şu ki bazen WordPress kalıcı bağlantı yapısını yenileyemiyor ve bu da Yoast SEO’nun site haritası 404 hatasının görünmesine neden olabiliyor.
Bununla birlikte, WordPress yönetici alanından Ayarlar ” Kalıcı Bağlantılar sayfasına giderek ve sadece ‘Değişiklikleri Kaydet’ düğmesine tıklayarak bu durum kolayca düzeltilebilir.
Bunu yapmak WordPress kalıcı bağlantı ayarlarını yenileyecektir. Şimdi XML site haritası sayfanızı ziyaret ederek sorununuzun çözülüp çözülmediğini görebilirsiniz.
Sorunu çözmediyse, okumaya devam edebilirsiniz.
2. Kalıcı Bağlantıları Manuel Olarak Güncelleme
WordPress kalıcı bağlantı yapınızı yenilemeniz 404 hatasını düzeltmezse, web sunucunuza kullanıcıları Yoast SEO’nun site haritası sayfasına yönlendirmesini manuel olarak söyleyebilirsiniz.
Bunu yapmak için .htaccess
dosyanıza aşağıdaki kodu eklemeniz gerekir.
# Yoast SEO - XML Sitemap Rewrite Fix
RewriteEngine On
RewriteBase /
RewriteRule ^sitemap_index.xml$ /index.php?sitemap=1 [L]
RewriteRule ^locations.kml$ /index.php?sitemap=wpseo_local_kml [L]
RewriteRule ^geo_sitemap.xml$ /index.php?sitemap=geo [L]
RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 [L]
RewriteRule ^([a-z]+)?-?sitemap.xsl$ /index.php?yoast-sitemap-xsl=$1 [L]
# END Yoast SEO - XML Sitemap Rewrite Fix
Not: WordPress web siteniz bir alt dizine veya klasöre yüklüyse (örneğin https://example.com/mywebsite/
), aşağıdaki kodu kullanmanız gerekir.
# Yoast SEO - XML Sitemap Rewrite Fix
RewriteEngine On
RewriteBase /mywebsite/
RewriteRule ^sitemap_index.xml$ /index.php?sitemap=1 [L]
RewriteRule ^locations.kml$ /index.php?sitemap=wpseo_local_kml [L]
RewriteRule ^geo_sitemap.xml$ /index.php?sitemap=geo [L]
RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 [L]
RewriteRule ^([a-z]+)?-?sitemap.xsl$ /index.php?yoast-sitemap-xsl=$1 [L]
# END Yoast SEO - XML Sitemap Rewrite Fix
mywebsite/
yerine alt dizin adınızı yazmayı unutmayın.
Bu kod basitçe web sunucunuza, kullanıcılar Yoast SEO’nun XML site haritalarına eriştiğinde hangi sayfaların görüntüleneceğini söyler.
Şimdi sorununuzun çözülüp çözülmediğini görmek için XML site haritanızı görüntülemeyi deneyebilirsiniz.
3. Bir XML Site Haritaları Eklentisine Geçin
Yukarıda belirtilen yöntemler Yoast SEO’nun XML site haritası sayfasındaki 404 hatasını çözmediyse, web siteniz için XML site haritaları oluşturmak için ayrı bir eklenti kullanmayı deneyebilirsiniz. Bunun için iyi bir eklenti XML Site Haritaları eklentisidir.
Bu yaklaşımın dezavantajı, XML site haritaları oluşturmak için ayrı bir eklentiye ve diğer SEO özellikleri için Yoast SEO’ya güvenmeniz gerekecek olmasıdır.
Öncelikle XML Site Haritaları eklentisini yüklemeniz ve etkinleştirmeniz gerekir. Daha fazla ayrıntı için bir WordPress eklentisinin nasıl kurulacağına ilişkin adım adım kılavuzumuza bakabilirsiniz.
Yoast SEO kullandığınız için, XML Site Haritaları eklentisini veya Yoast SEO’nun site haritası işlevini devre dışı bırakmanız için otomatik olarak bir bildirim alacaksınız.
Ardından, devam etmek için ‘Yoast SEO’nun XML Site Haritasını Değiştir’ düğmesine tıklayabilirsiniz.
Bu sizi SEO ” Genel altındaki ‘Özellikler’ sekmesine getirecektir. Buradan, ‘XML site haritaları’ seçeneğine kaydırmanız ve kapatmanız gerekir.
Ayarlarınızı kaydetmek için ‘Değişiklikleri Kaydet’ düğmesine tıklamayı unutmayın.
Artık site haritalarınızı yapılandırmak için Ayarlar ” XML-Sitemap sayfasına geçebilirsiniz. Çoğu web sitesi için varsayılan ayarlar kutudan çıkar çıkmaz çalışacaktır.
Ancak ayarları her zaman ihtiyaçlarınıza göre yapılandırabilirsiniz.
Artık XML site haritası URL’sini Google arama konsoluna ve diğer arama motorlarına gönderebilirsiniz.
4. WordPress için Hepsi Bir Arada SEO’ya Geçin
Yukarıdakilerin tümü başarısız olursa ve XML site haritaları oluşturmak için ayrı bir eklenti kullanmak istemiyorsanız, bu yöntem site haritası 404 hatası sorununu çözmenize yardımcı olabilir.
Bu yöntem için WordPress için All in One SEO’ya ihtiyacınız olacak. Piyasadaki en iyi WordPress SEO eklentisi ve çok daha iyi bir Yoast SEO alternatifidir.
Farklar hakkında daha fazla ayrıntı için Yoast vs All in One SEO karşılaştırmamıza bakabilirsiniz.
All-in-One SEO (AIOSEO), gelişmiş XML site haritaları ve neleri dahil edip neleri hariç tutacağınız üzerinde tam kontrol sağlayan yönetimi kolay seçeneklerle birlikte gelir.
İlk olarak, All in One SEO for WordPress eklentisini kuralım ve etkinleştirelim. Daha fazla ayrıntı için, bir WordPress eklentisinin nasıl kurulacağına ilişkin adım adım kılavuzumuza bakın.
Not: WordPress için All in One SEO’ nun video ve haberler hariç çoğu XML site haritası özelliğini içeren ücretsiz bir sürümü de vardır.
Etkinleştirmenin ardından, eklenti size bir kurulum sihirbazı aracılığıyla yol gösterecektir. Kurulum sırasında yardıma ihtiyacınız olursa, WordPress için All in One SEO eklentisinin nasıl doğru şekilde kurulacağına ilişkin kılavuzumuzu izleyin.
All in One SEO, Yoast SEO’dan SEO verilerini içe aktarmanıza da izin verecektir.
Bu, önceki tüm SEO meta etiketlerinizin ve başlıklarınızın değişmeden kalmasını sağlar.
İlk kurulumdan sonra, XML site haritası ayarlarını yapılandırmak için All in One SEO ” Site Haritaları sayfasına gidebilirsiniz.
WordPress’teki site haritası 404 hatasını düzeltip düzeltmediğini görmek için ‘Site Haritasını Aç’ düğmesine tıklayabilirsiniz.
Bundan sonra, gerekirse site haritası ayarlarını yapılandırırsınız.
Örneğin, All in One SEO, site haritalarınıza neleri dahil edeceğinizi seçmenize olanak tanır. Gönderi türlerini, taksonomileri, tek tek gönderileri ve sayfaları ekleyebilir veya kaldırabilirsiniz.
All in One SEO ayrıca web siteniz için video, haber, RSS site haritası ve HTML site haritası oluşturmanıza olanak tanır.
Daha fazla ayar yapılandırmak isteyip istemediğinizi görmek için sekmelerini keşfetmeniz yeterlidir.
Bu site haritaları Google Search Console ‘a ve diğer arama motorlarına da gönderilebilir. Bu, arama motorlarının web sitenizdeki yeni içeriği hızlı bir şekilde bulmasına yardımcı olur.
Uzman İpucu: WordPress hatasını kendiniz düzeltmek istemiyor musunuz? Endişelenmeyin – biz sizi koruruz! Sinir bozucu hatalara elveda deyin ve sevdiğiniz işe odaklanmaya geri dönün. Bırakın teknik işleri biz halledelim ve Acil WordPress Desteğimizi hemen rezerve edin!
Umarız bu makale WordPress’te Yoast SEO Site Haritası 404 hatasını düzeltmenize yardımcı olmuştur. Daha sonra, eksiksiz WordPress sorun giderme kılavuzumuzu veya yaygın WordPress hatalarının nasıl düzeltileceğini görmek isteyebilirsiniz.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
CB
Hi, just tried the second version editing the plug ins core files and the site has disapeared?? including the backend. just a white screen?? I replaced the code withy the original and nothing.
Matt Crystal
Thank you! That worked by supplying the code in the .htaccess file, then unchecking the site map option and saving. Then, re-checking the box and saving again. Thanks!
Roderick van Straten
Added this code to the .htaccess and unchecked and checked it, but I only get a blank page now for the sitemap ..
mandingo345
yes, without fix, just uncheck save recheck and saved.
Tidus Ha
the last update work perfect for me. thank you.
Jack
After loosing quite some time trying to find what was wrong, I got it working by your suggestion “Uncheck the sitemap option in the Yoast’s SEO plugin and ‘save’ settings. After that re-checking the sitemap’s option fixes the error.”
tnx very much!
johnny
Thank you so much! unchecking, saving, rechecking saving did the trick!
sc456a
After I added the code to htaccess and unchecked/rechecked Sitemap in the plugin, it worked! Thanks!
Taylor
Worked!! Thank you!
alireza
it work for me too, Thanks a lot!
Leo
Uncheck then save, then go back check again and save, solved my problem. It should be at the begining before anybody try anything else! it worked for me thanks though
Elle Laurel Rose
Woohoo! Thanks. Mine probably wasn’t broken long because Google didn’t seem to mind yet. … But my site is only in a softer launch stage anyway… Slow crawls maybe. Luckily, I’m improving my site before my real projects go up (hopefully soon).
Anyway I cannot thank you enough.
logitaki
I opened the class-sitemaps.php file but can’t find the section you are referring to “functiion () init code.. can you be more specific?
Basie
Editing the .htaccess file, un-checking sitemap generation, saving settings, re-checking, saving settings … fixed it for me! Thank you VERY much.
Tom Atkinson
I found my issue was actually fixed purely by turning Yoasts sitemaps on and off from UI. Which is great!
Fernando
Were you able to fix this one? I’m having the same problem, I get a 404 on post-sitemap.xml. I didn’t check the PHP logs on what the error is but probably would be the same you’re getting.
Steve
No fix, and theres no replies to support threads on wordpress, other people are just disabling it and using another sitemap plugin.
Baidya nath Singh
It worked with the first code to .htaccess. Thanks.
hayderabbass
Disabling the XML sitemap and re enabling them fix this issue for me. Thanks!
Ben Billson
I was having an issue with the sitemap 404’ing when trying to access it.
I tried adding the first ifmodule, no joy, then remembered I had another ifmodule in place to handle redirects after updating my permalink structure.
I removed the redirect ifmodule, restarted Worpress SEO, then the sitemaps started working. Re-added the redirect ifmodule, and everything now appears to be working just fine. I’ve also checked the status in GWT and Bing WT and it’s all looking good. Thanks for the help!
Rob Cooper
I put the first Ifmodule into htaccess and it spit out some weird single line of content, with no links.
I read through the comments
then I rebooted Yoast’s sitemap option:
i unchecked the “Enable XML Sitemap Here” and saved
I re-checked it and saved
checked my sitemap and it was there, formatted properly with xsl stylesheet being applied and links all worked
chiappa
I have no idea where to put that code. There is no line like: “function init()” in class-sitemaps.php
Katrina Isabelle
Try going into your permalink settings and saving them again. If you can’t access the back end of your site because of the 500 error, then remove that htaccess file.
Katrina Isabelle
Hello! I think you should add one more step at the very beginning: Re-save your permalink settings! I found that re-saving my permalink settings solved the issue for me. No need to go into the htaccess file.
EB
Exactly, solved my problem too.
Alfonso
this fixed the issue for me, re-saving the WP permalinks
Steve
I get the following error only on post-sitemap, all other sitemaps work ok:
Fatal error: Allowed memory size../plugins/wordpress-seo/inc/class-sitemaps.php on line 713
I tried the htaccess and wpseo-functions edits but no luck.
I deactivated every plugin, still no luck.
I deleted wpseo and reinstalled but still same problem and now on the wpseo dashboard and sitemaps page I get this error:
Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘wpseo_xml_sitemaps_init’ not found or invalid function name in /home/justplay/public_html/wp/wp-includes/plugin.php on line 470
I have two sites running the same theme, plugins etc and one works ok one has this errors, wierd.
Jane Hockley
Thank you – i found just by unchecking and saving and then re-checking the site map option for the yoast plugin google webmaster was able to find my site map
eliascan
Worked for me too. Thanks
Jared Eitnier
Worked for me as well, good call.
Michael Erickson
Thanks Jane!
Taylor
Thank you!! Worked like a charm
Jesse
This worked for me too. Thanks!
Brent Norris
yep got rid of the 3 errors displayed in webmaster tools. thanks
Saw Panse
Worked like a charm. Thanks @janehockley:disqus
Abhishek Mishra
Guys really you are amazing, yeah AMAZING.. this blog is really helpful for me
Jake Ratliff
When I tried the htaccess method, it crashed my site. I just added this code into the htaccess file (via the Yoast plugin):
# WordPress SEO – XML Sitemap Rewrite Fix
RewriteEngine On
RewriteBase /
RewriteRule ^sitemap_index.xml$ /index.php?sitemap=1 [L]
RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 [L]
# END WordPress SEO – XML Sitemap Rewrite Fix
And then clicked the “save changes to .htaccess” button. I can’t go anywhere without the 500 error now. What did I do wrong? Anyone know how to fix this?
Jake Ratliff
I tried the htaccess fix and now I get a 500 Internal Server Error.
Mark Haller
@NicolasJoly:disqus you star, well done, thanks so much!
Tiffany Marie McAnally
So it still doesn’t work for me… I feel like beating my head against a wall. As much as I love the plugin, I think I’m just going to lose it in favor of something that’s actually functional.
Jérôme Lafforgue
Thanks, work fine in wpseo-functions.php file @ line 461
ast
for me worked fine!
thank you
NicolasJoly
@Matt Klein, it’s in the wpseo-functions.php file @ line 461
NicolasJoly
@Matt Klein, the ‘init’ function is now ‘wpseo_xml_sitemaps_init’ in the wpseo-functions.php, @line 461
Add just :
global $wp_rewrite; before the $GLOBALS define
and
$wp_rewrite->flush_rules(); after the add_rewrite_rule…
/**
* Initialize sitemaps. Add sitemap & XSL rewrite rules and query vars
*/
function wpseo_xml_sitemaps_init() {
$options = get_option( ‘wpseo_xml’ );
if ( $options[‘enablexmlsitemap’] !== true ) {
return;
}
// redirects sitemap.xml to sitemap_index.xml
add_action( ‘template_redirect’, ‘wpseo_xml_redirect_sitemap’, 0 );
if ( ! is_object( $GLOBALS[‘wp’] ) ) {
return;
}
global $wp_rewrite;
$GLOBALS[‘wp’]->add_query_var( ‘sitemap’ );
$GLOBALS[‘wp’]->add_query_var( ‘sitemap_n’ );
$GLOBALS[‘wp’]->add_query_var( ‘xsl’ );
add_rewrite_rule( ‘sitemap_index.xml$’, ‘index.php?sitemap=1’, ‘top’ );
add_rewrite_rule( ‘([^/]+?)-sitemap([0-9]+)?.xml$’, ‘index.php?sitemap=$matches[1]&sitemap_n=$matches[2]’, ‘top’ );
add_rewrite_rule( ‘([a-z]+)?-?sitemap.xsl$’, ‘index.php?xsl=$matches[1]’, ‘top’ );
$wp_rewrite->flush_rules();
}
Matt Klein
There is no function init area in my class-sitemaps.php file. Could it be called something else. What line is it on?
Regina Falkowski
Added the code to .htaccess file and it worked like a charm! Thanks for the fix
Alec Byrne
Adding the .htaccess worked for me – thanks very much
Desainwebs
Still not work for me
Ollie
Htaccess fix worked for me.
But as Scott in the first comment above says, I needed to uncheck the XML sitemap checkbox and save. Then recheck it and save again for the sitemap to show up. I think that would be worth mentioning in the article.
WPBeginner Support
Ollie, yes we have updated the article.
Yönetici
Steve Patterson
Thanks this worked for me editing the .htaccess file. I unchecked sitemaps off then back on and also changed mine from 1,000 to 400. If you are on a shared server, I would use a lower number so that less CPU usage is done on your domain.
scott
Hi guys,
I had to troubleshoot this issue too. My site is hosted in a sub directory of a main site. So I had to set the following line:
RewriteBase /scottmortiz/
I then had to uncheck the mina Site Map XML option in the plugin, and save. Then re-check the plugin and save. Hope this works for some of you.
-Scott
Chris
Hi Steven,
thank alot. This helped me, too. But to get the rewrite working I had to disable the xml function, save it, and enable (and save it) again. Seems obvious, but maybe this is worth a note in the article. I will safe this article in my personal wordpress help register.
Thanks,
Chris
Dan
Thank you Chris! This fixed my 404 problem with Yoast’s XML Sitemap feature.
Jason Judge
Ah, switch it off, then switch it back on again. Thanks:-) It is not as obvious as you think. My sitemaps also did not work (getting a 404) until I did this. I did not have to make any of the other changes described in this post.
Shanthi Ganesan
@PEKKO Hi Tried your techniques it really works well,thanks a lot for sharing….
Lukas
Nothing is working in my case – still Error 404 …
Ryan
Beauty, fixed it for me too.. thanks for putting this up
lloyd
this just broke my websites … now getting an internal server error…
Rosie
The edit to .htaccess files was just the trick. Thanks for posting this! You saved me a whole lot of time and trouble.
Pekko
I was just facing the same issue. i unticked the box (Check this box to enable XML sitemap functionality) — pressed save, and then ticked the box again, after that It found the sitemap again, Hope it will be there!
Anisa
I use this technique, and it worked
John
This worked for me, as well. Thx!
Cara Sherlock
Unchecking, saving and then rechecking worked for me too. Thx!
Badprimer
[..unticked the box (Check this box to enable XML sitemap functionality) — pressed save, and then ticked the box again..]
Worked for me. Thx!!
Kerry
Thank you! Worked for me too! So simple. The author of this article should add this too.
bruce
This also worked for me. turn off sitemaps. save. turn them back on. save. fixed
David
Same for me, unchecked, saved, checked, saved, voila!
hobbsy
this worked for me too
Hugo
Hi,
I’m still having some troubles with my website:
My site map contains a lot of files like this one:
http://www.blenheimgang.com/wp-content/uploads/media/2013/09/BCRR-E30-25.jpg
and they refer to a broken link. How can I delete them?
WPBeginner Support
Doesn’t look like a broken link.
Yönetici
Steven
I’ll just share what worked for me, by changing the ‘max entries per site map’ to 250 (ie. something less than 1000) I managed to fix the 404 error. I think the server was having issues processing 1000 entries which is the default.
Maggie
Hi Steven, this is great solution! I just fixed the problem by your method. Thank you very much!
PromInc
Thanks Steven – this resolved my issue as well. The ‘max entries…’ field was blank for me; simply adding any value seemed to work, which is good as I felt 250 was a bit low. Very simple but effective solution.
Nick Root
That worked thanks for the tip!