Smíšený obsah ve WordPressu: jak najít a opravit HTTP zdroje

Článek se načte přes HTTPS, přesto v něm chybí obrázek, font nebo vložený prvek. Jednou z příčin může být smíšený obsah: zabezpečená stránka žádá část prostředků přes nezabezpečené HTTP. Oprava spočívá ve změně skutečného zdroje požadavku a ověření výsledku. Pouhé přepnutí adresy webu nebo potlačení varování v prohlížeči problém spolehlivě nevyřeší.

Nejdříve odlište varování od příčiny

Chybějící fotografie nemusí znamenat mixed content. Může jít o neexistující soubor, oprávnění, nesprávnou cestu nebo chybu externí služby. Začněte konkrétní stránkou a jejím požadavkem. V nástrojích pro vývojáře sledujte konzoli a síťový panel; důležité jsou přesná URL, typ prostředku a místo, které jej vyvolalo.

MDN popisuje, že prohlížeče některé typy prostředků automaticky převádějí na HTTPS a jiné blokují. Viditelně načtený obrázek proto nedokazuje čistý zdrojový obsah. Automatický převod může problém zakrývat do chvíle, kdy cílový server zabezpečenou variantu neposkytne. Chování navíc závisí na typu požadavku, takže úspěch jednoho obrázku nelze přenést na skripty.

Zaznamenejte stejný problém pro přihlášeného redaktora i anonymního návštěvníka. Náhled může používat jiný zdroj nebo jinou cache než veřejná stránka. Pokud máte hlášení jen z telefonu, doplňte přesnou adresu článku a popis chybějícího prvku. Obecná informace „mobil špatně zobrazuje web“ nestačí k bezpečné hromadné opravě.

Kde hledat starou HTTP adresu

Místo Typická situace Rozumný rozsah opravy
Obsah článku Starý vložený obrázek či iframe Konkrétní blok nebo odkaz
Nastavení šablony Logo, pozadí nebo vlastní font Daná položka nastavení
CSS a skripty URL uvnitř stylu nebo pluginu Původní zdroj a případná regenerace
Externí služba Vložený prvek bez funkční HTTPS varianty Náhrada nebo odstranění prvku
Cache Veřejná stránka drží dřívější HTML Vyčištění správné vrstvy po opravě

Ve WordPressu může stejná fotografie existovat v obsahovém bloku, knihovně médií a nastavení šablony zároveň. Změna jedné adresy nemusí opravit ostatní použití. Naopak není důvod měnit všechna média, pokud chyba vzniká v jediném starém widgetu. Opravujte nalezenou příčinu, nikoli celý web podle prvního odhadu.

První kontrola bez zásahu do databáze

  • Otevřete problematickou veřejnou stránku přes HTTPS a uložte chybující URL.
  • Zjistěte, zda požadavek vychází z obsahu, stylu, skriptu nebo vloženého dokumentu.
  • Zkontrolujte, zda stejný prostředek opravdu funguje na HTTPS včetně certifikátu.
  • Najděte místo, kde se adresa spravuje, a určete vlastníka dané změny.
  • Připravte malou ověřitelnou opravu a postup návratu před hromadným nahrazováním.

Přepsání protokolu naslepo může nahradit blokovanou věc jinou chybou. Externí server nemusí na HTTPS existovat, může přesměrovávat jinam nebo vracet neplatný certifikát. Nejprve proto ověřte cílový prostředek. U cizího vloženého prvku hledejte podporovaný způsob vložení od jeho provozovatele; nevytvářejte vlastní obcházení bezpečnostních omezení.

Kdy stačí upravit jeden článek

Pokud je problém v jednom bloku, pracujte s tímto blokem. Před změnou si poznamenejte původní adresu a ověřte význam obrázku či vloženého obsahu. Zvlášť u starého článku může soubor odkazovat na jinou velikost, než používá současná knihovna. Oprava má zachovat věcný význam a přístupný popis, pokud stále odpovídají zobrazenému obsahu.

Po uložení znovu otevřete veřejnou stránku. Kontrolujte nejen zmizení varování, ale i skutečně načtený prvek, jeho rozměry a chování na mobilu. U iframe vyzkoušejte také ovládání. Odstraněním chybového hlášení se nedokazuje, že čtenář může použít přehrávač nebo formulář.

Hromadné nahrazení vyžaduje přesné zadání

Při převodu většího webu může být starých adres mnoho. Tehdy má smysl inventura použití a řízené nahrazení. Nejdříve záloha, testovací prostředí a nástroj, který rozumí způsobu uložení dat WordPressu. Prosté nahrazení textu v celém databázovém exportu není univerzální postup, například kvůli serializovaným hodnotám a jiným významům stejného řetězce.

  1. Vymezte starý původ, nový původ a pole, kterých se změna týká.
  2. Proveďte suchý průchod nebo jiný přehled nalezených použití bez zápisu.
  3. Posuďte výjimky: externí weby, historické citace adres a zvláštní služby.
  4. Ověřte změnu na kopii webu a na reprezentativních typech stránek.
  5. Po schválené změně prověřte veřejné požadavky a vyčistěte příslušnou cache.

Záznam má uvádět rozsah změněných dat a způsob návratu, ne hesla k databázi. Pokud nevíte, zda nalezený řetězec patří obsahu, konfiguraci nebo historickému záznamu, nerozšiřujte automaticky zásah. U redakce s více správci je užitečné předem přidělit jednoho vlastníka úpravy, aby jiný člověk mezitím nepřepsal stejné nastavení.

Pozor na CSS, miniatury a cache

Někdy jsou články opravené, ale pozadí hlavičky stále používá HTTP cestu ve vygenerovaném stylu. Změna zdrojového nastavení pak potřebuje podporovanou regeneraci CSS. U miniatur prověřte, kterou variantu prohlížeč skutečně vybírá; kontrola jediného originálu nemusí pokrýt mobilní zobrazení. Nezvětšujte ani nepřevádějte všechna média jen proto, abyste opravili protokol.

Jestli veřejnost stále dostává staré HTML, pokračujte podle diagnostiky starého článku po aktualizaci. Rozlišuje problém uloženého obsahu od vrstvy, která jej doručuje. Anonymní kontrola je důležitá právě proto, že přihlášený správce může cache obcházet.

Výsledek kontroly Co z něj plyne Další ověření
HTTPS soubor funguje, obsah stále odkazuje na HTTP Je třeba opravit zdroj odkazu Čerstvé veřejné HTML a síťový požadavek
HTTPS soubor selhává Pouhé přepsání protokolu nestačí Správný nový zdroj nebo náhrada
Administrace je opravená, veřejnost vidí starý stav Možná přetrvává cache Konkrétní doručovací vrstva
Problém zůstává jen na mobilu Může se vybírat jiný prostředek Mobilní varianta obrázku či stylu

Model přejímky po opravě

Představme si magazín s hlavní fotografií, fontem a videem na jedné stránce. Po změně adresy fotografie už horní část funguje, ale video stále chybí. Přejímka založená jen na pohledu do hlavičky by opravu předčasně uzavřela. Správný protokol má tři samostatné položky a u každé zaznamená načtení, zdroj a případné zbývající omezení.

Za dokončenou považujte opravu až podle veřejného výsledku. Konzole bez související chyby je jeden doklad; funkční viditelný obsah a ovládání jsou další. U velkého archivu vyberte různé šablony, staré vložené prvky a mobilní varianty. Rozsah vzorku uveďte pravdivě, protože několik stránek neprokazuje bezchybný celý archiv.

Časté otázky

Vyřeší problém nový HTTPS certifikát?

Certifikát řeší zabezpečené spojení pro dané jméno. Sám nepřepíše HTTP adresy uložené v článcích, stylech ani nastavení šablony. Obě kontroly spolu souvisejí, ale mají jiný výsledek.

Mohu v prohlížeči povolit nezabezpečený obsah?

Takový krok není oprava webu pro návštěvníky. Najděte zdroj HTTP požadavku a opravte jej nebo nahraďte nefunkční vložený prvek. Ochranu prohlížeče kvůli provoznímu řešení nevypínejte.

Proč obrázek funguje a skript ne?

Prohlížeče zacházejí s různými typy smíšeného obsahu odlišně. Některé požadavky automaticky převedou na HTTPS, jiné zablokují. Zkoumejte konkrétní požadavek místo úsudku podle jedné fotografie.

Je nutný nový plugin?

Ne automaticky. U jedné chybné adresy bývá přehlednější přímá oprava místa, které ji vytváří. Případný nástroj pro větší migraci vybírejte podle dat a ověřitelného rozsahu, ne podle slibu jediného přepínače.

Stačí zkontrolovat titulní stránku?

Nestačí. Staré články a různé šablony mohou načítat odlišné soubory. Ověřte alespoň dotčené stránky a reprezentativní typy obsahu, včetně anonymního mobilního pohledu a skutečného načtení prostředků.

Zdroje

Související články

Radek Vávra
Radek Vávra

Radek Vávra je šéfredaktor Podnikmag.cz. Věnuje se financím, investování a podnikání.

Články: 796