WordPress’te geçersiz JSON hatasını düzeltmeye mi çalışıyorsunuz?
Bu hata, web sitenizdeki WordPress gönderilerini veya sayfalarını düzenlerken görünür. ‘Yanıt geçerli bir JSON yanıtı değil’ şeklinde bir mesaj görürsünüz ve bu sayfanın güncellenmesi başarısız olur.
Bu makalede, WordPress’te geçersiz JSON hatasını nasıl kolayca düzeltebileceğinizi göstereceğiz. Ayrıca bu hatanın neden oluştuğundan ve gelecekte nasıl önlenebileceğinden bahsedeceğiz.
WordPress’te ‘Geçerli Bir JSON Yanıtı Değil’ Hatasının Nedeni Nedir?
Sunucudan beklenen yanıtın alınamaması WordPress’te ‘Geçerli bir JSON yanıtı değil’ hatasına neden olur.
Temel olarak, siz bir blog gönderisini düzenlerken WordPress’in sunucuyla iletişim kurması gerekir. Arka planda web barındırma sunucusundan yanıt almaya dayanır. Bu yanıt genellikle JavaScript kullanarak verileri hızlı bir şekilde aktarmak için kullanılan JSON biçimindedir.
Herhangi bir nedenle WordPress yanıtı alamazsa veya yanıt JSON biçiminde değilse, ‘Geçerli bir JSON yanıtı değil’ hatasını görürsünüz.
Bu hata çeşitli nedenlerle ortaya çıkabilir. Ancak, bunun en olası nedeni WordPress’teki yanlış URL ayarları veya bozuk kalıcı bağlantılardır.
Bununla birlikte, WordPress’te geçersiz JSON hatasının nasıl kolayca düzeltilebileceğine bir göz atalım. Farklı yöntemlere geçmek için bu hızlı bağlantıları kullanabilirsiniz:
- Option 1. Check WordPress URLs in Settings
- Option 2. Fix WordPress Permalink Structure
- Option 3. Regenerate WordPress .htaccess File
- Option 4. View the REST API Debug Log
- Option 5. Deactivate All WordPress Plugins
- Option 6. Temporarily Switch to the Classic Editor
- Option 7. Switch to a Default WordPress Theme
- Option 8. Temporarily Turn Off Website Application Firewall
- Option 9. Turn On Debugging in WordPress
- Option 10. Check for Mixed Content Error
- Final Step: Seek Expert Help
Not: Lütfen web sitenizde büyük değişiklikler yapmadan önce eksiksiz bir WordPress yedeği alın. Bu, web sitenizi önceki durumuna kolayca geri yüklemenizi sağlar.
Seçenek 1. Ayarlar’da WordPress URL’lerini kontrol edin
Öncelikle, WordPress Adres ve Site Adresi ayarlarınızın doğru olduğundan emin olmanız gerekir.
Basitçe Ayarlar ” Genel sayfasına gidin. Buradan, ‘WordPress Adresi (URL)’ ve ‘Site Adresi (URL)’ alanlarını gözden geçirmeniz gerekir.
Çoğu web sitesi için bu ayarın her iki alanda da aynı URL’ye sahip olması gerekir.
Ancak nadiren de olsa bazı WordPress kullanıcıları WordPress’e kendi dizinini vermiş ve web sitesini farklı bir adreste sunmuş olabilir. Bu durumda, burada farklı URL’lere sahip olabilirler.
Ancak, Site Adresiniz yanlışsa, bu WordPress’te geçersiz JSON hatasını tetikleyecektir.
Ayarlarda herhangi bir değişiklik yaptıysanız, ‘Değişiklikleri Kaydet’ düğmesine tıklamayı unutmayın. Artık bir blog gönderisini düzenleyebilir ve yeni bloklar eklemenin veya gönderiyi kaydetmenin ‘Geçerli değil JSON yanıtı’ hatasını tetikleyip tetiklemediğini görebilirsiniz.
Eğer hala hatayı görüyorsanız, okumaya devam edin.
Seçenek 2. WordPress Kalıcı Bağlantı Yapısını Düzeltin
WordPress, yazılarınız ve sayfalarınız için insan tarafından okunabilir URL ‘ler kullanmanıza olanak tanıyan SEO dostu bir URL yapısıyla birlikte gelir.
Ancak bazen bir kullanıcı kalıcı bağlantı ayarlarını karıştırabilir. Bu, WordPress blok editörünün geçerli bir JSON yanıtı almasını imkansız hale getirir ve hatanın görünmesine neden olur.
Bunu düzeltmek için Ayarlar ” Kalıcı Bağlantılar sayfasını ziyaret etmeniz yeterlidir. Buradan kalıcı bağlantı seçeneklerini dikkatlice gözden geçirmelisiniz.
Doğru ayarları kullanıp kullanmadığınızdan emin değilseniz, varsayılan biçimlerden birini seçmeniz yeterlidir.
Bundan sonra, devam edin ve ayarlarınızı kaydetmek için ‘Değişiklikleri Kaydet’ düğmesine tıklayın.
Artık hatanın ortadan kalkıp kalkmadığını görmek için bir blog gönderisini veya sayfasını düzenlemeyi deneyebilirsiniz. Kaybolmadıysa bir sonraki adımı deneyebilirsiniz.
Seçenek 3. WordPress .htaccess Dosyasını Yeniden Oluşturun
WordPress’teki .htaccess dosyası, SEO dostu URL’leri (kalıcı bağlantılar) yönetmek için bir yapılandırma dosyası olarak kullanılır.
Normalde, WordPress dosyayı otomatik olarak yeniden oluşturabilir ve güncelleyebilir. Bu güncellemeyi Ayarlar ” Kalıcı Bağlantılar sayfasının altındaki ‘Değişiklikleri Kaydet’ düğmesine tıklayarak da tetikleyebilirsiniz.
Ancak bazen güncellenmeyebilir veya yanlış ayarlara sahip olabilir. Bu durum WordPress kalıcı bağlantılarınızı etkileyecek ve geçersiz JSON yanıtı hatasına neden olabilecektir.
Bunu düzeltmek için, bir FTP istemcisi veya WordPress barındırma hesabı kontrol panelinizdeki dosya yöneticisi uygulamasını kullanarak web sitenize bağlanmanız gerekecektir.
Bağlandıktan sonra, web sitenizin kök klasöründeki .htaccess dosyasını bulmanız ve bilgisayarınıza yedek olarak indirmeniz gerekir.
İpucu:.htaccess dosyasını bulamıyor musunuz? .htaccess dosyasının nasıl bulunacağına ilişkin bu hızlı makaleye bakın.
Bundan sonra, bir FTP istemcisi veya dosya yöneticisi uygulaması kullanarak .htaccess dosyasını düzenlemeniz gerekir.
Dosya açıldıktan sonra, içindeki tüm kodu silmeniz ve aşağıdaki kodla değiştirmeniz gerekir:
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Değişikliklerinizi kaydetmeyi ve dosyayı web sitenize geri yüklemeyi unutmayın.
Şimdi web sitenizi ziyaret edebilir ve geçersiz JSON yanıtı hatasını yeniden oluşturup oluşturamayacağınızı görmek için gönderiyi veya sayfayı düzenleyebilirsiniz.
Hatayı hala görüyorsanız, atabileceğiniz birkaç adım daha vardır.
Seçenek 4. REST API Hata Ayıklama Günlüğünü Görüntüleme
Geçersiz JSON yanıtı hatası, web sitenizdeki WordPress REST API’sinin bir hatayla karşılaştığı anlamına da gelebilir.
REST API, WordPress’in web siteniz üzerinde çalışırken web sunucusuyla iletişim kurmak için kullandığı bir dizi tekniktir.
Bu hatanın ayrıntılarını WordPress Site Sağlığı aracında görebilirsiniz. Araçlar ” Site Sağlığı sayfasını ziyaret edin.
Buradan, ‘REST API beklenmedik bir sonuçla karşılaştı’ etiketli bir sorun görebilirsiniz.
Üzerine tıkladığınızda, hangi eklentinin veya üçüncü taraf hizmetinin soruna neden olduğu hakkında size bazı ipuçları verebilecek daha fazla ayrıntı gösterilecektir.
Bu herhangi bir ipucu sağlamazsa, bir sonraki adıma geçebilirsiniz.
Seçenek 5. Tüm WordPress Eklentilerini Devre Dışı Bırakın
Bazen WordPress eklentileri birbirleriyle veya WordPress çekirdek yazılımıyla çakışabilir. Bu durum beklenmedik davranışlara yol açabilir ve geçersiz JSON hatasının olası bir nedeni olabilir.
Basitçe Eklentiler ” Yüklü Eklentiler sayfasına gidin. Buradan tüm WordPress eklentilerinizi seçin ve ardından ‘Toplu Eylemler’ açılır menüsünden ‘Devre Dışı Bırak’ı seçin. Şimdi, devam etmek için ‘Uygula’ düğmesine tıklayın.
WordPress şimdi tüm yüklü eklentilerinizi devre dışı bırakacaktır.
Şimdi hatayı yeniden oluşturmayı deneyebilirsiniz. Hata kaybolursa, bu, web sitenizde yüklü eklentilerden birinin buna neden olduğu anlamına gelir.
Sorunun hangi eklentide olduğunu bulmak için, bunları tek tek etkinleştirmeniz ve hatayı yeniden oluşturmaya çalışmanız yeterlidir. Suçluyu bulana kadar bunu tekrarlayın.
Bundan sonra, destek için eklenti yazarına ulaşabilir veya alternatif bir eklenti bulabilirsiniz.
Seçenek 6. Geçici Olarak Klasik Düzenleyiciye Geçin
Bir sonraki seçenek geçici olarak WordPress için Klasik Düzenleyiciye geçmektir.
WordPress editörünün bu eski sürümü daha basit bir metin editörü kullanır ve JSON yanıtlarını almak için büyük ölçüde REST API’ye güvenmez.
Kullanmak için Classic Editor 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 bakın.
Eklenti kutudan çıktığı gibi çalışır ve etkinleştirildiğinde Gutenberg editörünü devre dışı bırakır.
Alternatif olarak, Gutenberg editörünü devre dışı bırakmak ve klasik editörü güvenli bir şekilde etkinleştirmek için WPCode ‘u kullanabilirsiniz. WordPress’te kod parçacıkları eklemek için kullanılabilecek en kolay ve en güvenli eklentidir.
Gutenberg’i WPCode ile nasıl devre dışı bırakacağınızı öğrenmek için bu kılavuzu okuyun.
Artık web siteniz üzerinde çalışmaya devam edebilir ve sorun gidermeye daha sonra geri dönebilirsiniz.
Seçenek 7. Varsayılan WordPress Temasına Geçin
Üçüncü taraf WordPress temaları, özellikle iyi kodlanmamış veya bakımı yapılmamışsa, bazen WordPress çekirdeği veya diğer eklentilerle çakışmalara neden olabilir. Bu çakışmalar, geçersiz JSON hatası da dahil olmak üzere çeşitli şekillerde ortaya çıkabilir.
Varsayılan bir temaya geçtiğinizde, mevcut temanız tarafından sunulan tüm özel kodları veya işlevleri kaldırmış olursunuz.
Bu, sorunun temanın kendisinden mi yoksa WordPress kurulumunuzdaki başka bir şeyden mi kaynaklandığını izole etmeye yardımcı olur.
Bunu yapmak için WordPress panonuzda Görünüm “ Temalar bölümüne gidin. Ardından, Twenty Twenty-Four veya Twenty Twenty-Three gibi varsayılan bir tema bulun ve ‘Etkinleştir’e tıklayın.
Seçenek 8. Web Sitesi Uygulaması Güvenlik Duvarını Geçici Olarak Kapatın
Sucuri, Cloudflare veya bir eklenti gibi bir WordPress güvenlik duvarı kullanıyorsanız, bazen meşru istekleri de engelleyebilir.
Bunu anlamanın en kolay yolu, WordPress güvenlik duvarı eklentinizi veya hizmetinizi geçici olarak devre dışı bırakmaktır.
Bazı uygulama düzeyindeki WordPress güvenlik duvarları sadece eklentiyi devre dışı bırakarak devre dışı bırakılabilir. Sucuri ve Cloudflare gibi DNS seviyesindeki güvenlik duvarları için, bunları hesap panonuzdan devre dışı bırakabilirsiniz.
Seçenek 9. WordPress’te Hata Ayıklamayı Açın
WordPress, hataların günlüğünü tutmanıza olanak tanıyan yerleşik bir özellikle birlikte gelir. Ancak bu özellik varsayılan olarak etkin değildir.
Açmak için aşağıdaki kodu wp-config.php dosyanıza eklemeniz gerekir:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
Bundan sonra WordPress, /wp-content/
klasörünün içinde bulunan debug.log dosyasında tüm hataların bir günlüğünü tutacaktır. Bu dosyaya bir FTP istemcisi kullanarak erişebilirsiniz.
Hata günlüğü, web sitenizde geçersiz JSON hatasına neyin neden olabileceği konusunda size bir ipucu sağlayabilir. Daha fazla ayrıntı için WordPress hata günlüklerini ayarlama ve hataları ayıklamak için kullanma kılavuzumuza bakın.
Seçenek 10. Karışık İçerik Hatasını Kontrol Edin
HTTPS (güvenli) üzerinden sunulan bir web sitesi, güvenli olmayan bir HTTP kaynağından kaynakları (resimler, komut dosyaları, veriler) yüklemeye çalıştığında, karışık içerik hatası oluşturur.
Modern tarayıcılar güvenlik nedeniyle karışık içeriği engeller. Bu, saldırganların güvenli olmayan kaynak aracılığıyla güvenli web sitesine kötü amaçlı içerik enjekte etmesini önlemek içindir.
Engellenen kaynak bir JSON dosyası veya JSON verilerini getiren bir komut dosyasıysa, tarayıcı buna tam olarak erişemeyebilir. Bu eksik veya engellenmiş veriler daha sonra ayrıştırma hatalarına yol açarak geçersiz bir JSON hatasıyla sonuçlanabilir.
Nasıl çözeceğinizi öğrenmek için WordPress’te karışık içerik hatasının nasıl düzeltileceğine ilişkin kılavuzumuzu okuyun.
Son Adım: Uzman Yardımı Alın
Son olarak, her şey başarısız olursa, bunun nedeni WordPress barındırma sunucunuzdaki bir yanlış yapılandırma olabilir. Çoğu güvenilir WordPress barındırma şirketi, yaygın WordPress sorunlarında kullanıcılara yardımcı olabilir.
Canlı sohbet veya destek bileti aracılığıyla onlara ulaşmanız yeterlidir; sorunu çözmenize yardımcı olabilirler. Daha fazla bilgi için WordPress desteğini nasıl doğru bir şekilde isteyeceğinize ilişkin kılavuzumuzu okuyabilirsiniz.
Umarız bu makale WordPress’te geçersiz JSON hatasını nasıl düzelteceğinizi öğrenmenize yardımcı olmuştur. Ayrıca, en yaygın WordPress hataları ve bunların nasıl düzeltileceğine ilişkin el kitabımızın tamamını ve küçük işletmeler için en iyi e-posta pazarlama hizmetleri için en iyi seçimlerimizi 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!
Tim Hordo
I solved this for my website by simply removing the apostrophe from the name of the file I was trying to upload.
WPBeginner Support
Thanks for sharing that should someone else run into that issue
Yönetici
Tomas Svitorka
Amazing article and helped me fix this annoying issue right away! FYI – my solution was simply to regenerate the htaccess file!
WPBeginner Support
Glad to hear our guide was helpful!
Yönetici
Ram
#3 worked for me!! (simply clicking on the ‘Save Changes’ button at the bottom of Settings » Permalinks page.)
Thanks for publishing such helpful blogs!
WPBeginner Support
You’re welcome! Glad to hear you were able to solve the error!
Yönetici
Benjamin
It sounds weird.
I did a test by creating new article and publishing it with a “Test” title and “Test” body … It worked.
But when I started to copy/past the content I wanted.. Json appear again.
WPBeginner Support
If you mean you followed these steps and it appeared again then you would want to start from step 4 for fixing the issue!
Yönetici
Benjamin
Classic editor solution worked well. thanks
Chris
In my case, the issue was the uploaded image dimensions. Anything above 2000 pixels was causing the error.
WPBeginner Support
Thank you for sharing what was the cause of the error for you. If you did not try it, you should be able to increase the maximum upload limit for your site to prevent image sizes being an issue in the future.
Yönetici
Angie
Thank you, after installing an SSL some pages were bringing up the 404. This helped me realize I needed to change http:// to https:// in General settings and it fixed the problem.
WPBeginner Support
Glad our article was helpful!
Yönetici
matt
Thank you for the detailed instructions on how to fix this json error in wordpress. I tried all above ideas to fix. None of them worked. The solution I found was turning off mod security in hosting control panel (cpanel).
Thanks
WPBeginner Support
Thank you for sharing what worked for you!
Yönetici
Brad Cathey
One can also be using a deprecated or non-existing WordPress function.
This has happened to me twice, both times when saving a page in the editor. I systematically commented out functions in functions.php, and eventually, the error stopped. The offending function was something I scrapped off someone’s blog without really understanding it. So, be careful.
WPBeginner Support
Thank you for sharing this for anyone looking for the root of the issue on their site!
Yönetici
Witt
I was having this issue and narrowed it to to trying to save anything containing the content “delete it.”
I haven’t dug in to verify this, but I’m pretty sure Apache mod_security is triggering on that content, thinking it’s part of a sql injection attack and blocking the request.
I just reworded my content to avoid that phrase. If that’s not an option, you can disable mod_security or write an exception.
WPBeginner Support
Thanks for sharing another possible reason why users could run into this issue!
Yönetici
Mike
Really good article thanks. Life saver
WPBeginner Support
Glad we could help solve this issue!
Yönetici
Letowon Saitoti Abdi
Changing the lines in the .htaccess was the magic for me, thanks a bunch.
WPBeginner Support
Glad our recommendation was helpful!
Yönetici
Alex Slaets
I had another, stupid cause: mod_rewrite was not enabled in apache configuration. enabling it fixed the error.
WPBeginner Support
Thanks for sharing this should someone else run into this issue!
Yönetici
Chris J
If you are using IIS, you need to make sure “OPTIONS” is permitted as one of your “HTTP VERBS”.
Launch Internet Information Service (IIS) Manager at Windows Start > All Programs > Windows Administrative Tools.
In IIS Manager, expand SERVERNAME > Sites > click example.com > Handler Mappings (under IIS).
Find the handler which is used by the website and double-click on it.
Double-click on your PHP handler (there may be more than one listed)
Click Request Restrictions….
Switch to the Verbs tab.
Add required verbs in to the verbs field, for example:
GET,HEAD,POST,OPTIONS
Click OK to apply the changes in both windows.
WPBeginner Support
Thank you for sharing this for those using IIS, for most users we would normally recommend reaching out to your hosting provider for this level of modification
Yönetici
Hussain
Thanks, number 2 worked for me.
WPBeginner Support
Glad our guide was helpful!
Yönetici
Michael Kumsa
Thanks a lot, I just finished a $25K project, and this site helped me a lot! Love ya!
WPBeginner Support
Glad our content was helpful!
Yönetici
Adri
Great help, thanks a lot!!
WPBeginner Support
Glad we could help you fix the error
Yönetici
Alex
Thank so much for your help
WPBeginner Support
Glad our guide could help
Yönetici
Abadat Ali
My site error:
Updating failed. The response is not a valid JSON response
I solved my error from this instructions;
Fix WordPress Permalink Structure
Thank you this helping.
WPBeginner Support
Glad our guide was able to help you solve the issue
Yönetici
Sholly Young
Hi, thank you for this detailed write up, I’ve read through it and find it so detailed and insightful.
However, I have an unanswered question which is this:
Could this error be as a result of invalid or expired SSL certificate?
WPBeginner Support
That can cause different errors but this specific error would not normally be caused by an SSL certificate.
Yönetici