Zvláštní věc, která se mi stala už tuším víckrát. Na FeedIT.cz naposledy před pár dny. Náhle místo článků začal web vracet 404ky. Nedošlo k žádné aktualizaci, žádné změny v pluginech, prostě nic.
Překvapivě to mělo jednoduché řešení. Jít do Nastavení -> Trvalé odkazy a znovu to tam uložit. Jen uložit, nic neměnit.

Tohle okamžitě problém odstranilo.
Je dobré vědět, že tohle má většinou původ ve špatně načtenými/nastavenými přepisovacími pravidly (rewrite rules) a jde o klasický .htacess soubor (Apache).
Což je také dost dobrý důvod k tomu, abyste měli zálohu webu a případně dokázali vrátit zpět .htacess co je trochu starší.
V .htaccess přitom je zpravidla následující pro výše uvedené nastavení, nutno dodat, netuším zda jiné varianty nastavení mají jiná pravidla. ):
# BEGIN WordPress
# Direktivy (řádky) mezi „BEGIN WordPress“ a „END WordPress“ jsou
# dynamicky generované a měly by být upravovány pouze pomocí filtrů WordPressu.
# Veškeré změny směrnic mezi těmito značkami budou přepsány.
<IfModule mod_rewrite.c>
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]
</IfModule>
#END WordPress
U té čerstvé záhady na FeedIT.cz přitom právě tahle část z .htacess ztratila. Ačkoliv k tomu nebyl reálně žádný jasně určitelný důvod. Osobně tipuju, že některý z pluginů (WordFence, například) sahal na .htacess při nějaké vlastní aktualizaci pravidel a poněkud se mu to nepovedlo.
A právě znovu-uložení nastavení (viz výše) tam tato pravidla doplní. Což obnáší i to, že zrovna tuhle část v .htacess byste skutečně neměli upravovat ručně.
