Přejít na obsah
Contentin
ContentinRegistrovat se

Runbook

Kontrola zpětných odkazů stránky při publikování krok za krokem

Jeden webhook, jedno volání HTTP, jedno rozhodnutí. Tento runbook provede tým headless CMS přes webhook, volání a případy selhání.

Izometrický miniaturní most s robotickým ramenem spojujícím platformy a kamenné pilíře

Rozhodněte, co brána smí dělat

Kontrola zpětných odkazů stránky v rámci procesu vydání je malá úloha. Nechte ji malou. Těžkou částí je rozhodnout, co smí ovlivnit výsledek, protože graf odkazů, který se obnovuje měsíčně, nemůže sám o sobě stránku zablokovat.

Navrhujeme, aby brána varovala, logovala a umožnila pokračování sestavení. Výchozí nastavení se může měnit. Tvrdé bloky patří věcem, které máte pod kontrolou, jako je rozbitá markupace nebo chybějící kanonický tag. Data o odkazech jsou signálem a signály se mění.

Zapište to. Udělejte to před kódováním. Jednovětové pravidlo, jako je „varovat editora, označit záznam, nikdy nezastavovat nasazení“, ušetří dlouhé hádky v 18 hodin v den vydání. Také řekne dalšímu inženýrovi, které selhání byly záměrné a které byly chyby, což je důležitější, než se zdá. Projděte jej jednou za čtvrtletí.

Šest kroků od kliknutí na publikování po uloženou poznámku

  1. 1

    Vyberte spouštěč

    Přihlaste se k události publikování ve vašem CMS. Contentful, Sanity a Strapi mohou volat URL, které vlastníte, když je záznam publikován, a Storyblok a Payload také nabízejí webhooky nebo hooky. Filtrujte podle typů obsahu, které obsahují odchozí nebo kanonické URL.

  2. 2

    Převedte URL na doménu

    API přijímá doménu v q, takže https://www.example.com/blog/post?x=1 musí být nejprve převedeno na example.com. Rozhodněte se jednou, jak budete zacházet s www, a otestujte jednu skutečnou doménu na bezplatné akci domain předtím, než začnete cokoliv stavět.

  3. 3

    Nejprve zavolejte bezplatnou akci

    overview nic nestojí. Pokud je výsledek tenký, může být doména nová nebo prostě neznámá našemu indexu. To není důkaz ničeho špatného.

  4. 4

    Mince utrátejte pouze při splnění pravidla

    Když vaše pravidlo říká podívat se blíže, zavolejte backlinks s per=100. Je to 2 mince, bez ohledu na počet řádků, takže požádejte o užitečnou stránku řádků spíše než o deset malých.

  5. 5

    Zapište poznámku, ne surový JSON

    Uložte krátké verdikt do vlastního pole plus datum kontroly. Surové odpovědi zbytečně zvětšují záznamy a rychle zastarávají, protože se index mění každý měsíc.

  6. 6

    Selhejte měkce

    HTTP 401 znamená, že chybí nebo je špatný klíč, takže upozorněte člověka. HTTP 402 znamená, že mince došly. Jakákoliv jiná chyba: zalogujte ji, přeskočte kontrolu, nechte publikování proběhnout.

Bezpečnostní trezor se zlatým klíčem a skleněnou trubicí s modrou kapalinou

Kde žije klíč a co by měl dělat 402

Každé placené volání obsahuje váš klíč, buď v query stringu nebo v Bearer hlavičce. Preferujte hlavičku. Query string může skončit v serverových logech a trasováních proxy, zatímco hlavička se tam obvykle nedostane.

Uložte klíč jako tajný údaj ve své hostingové platformě, nikdy v samotném záznamu. Editoři mohou číst jakékoliv pole, které otevřou, ale prostředí funkce je obvykle viditelné pouze lidem, kteří spravují nasazení.

Kde by měl klíč žít?

Klíč, který unikne, může utratit zůstatek na vašem účtu, takže s ním zacházejte jako s heslem. Udržujte ho mimo repozitář a mimo CMS a otočte ho, pokud se někdy objeví v logovém souboru v prostém textu.

Označte své logy názvem hooku. Výdaje je pak snadné sledovat zpět k jedné funkci, i když několik hooků sdílí stejný účet.

Může volání provést no-code nástroj?

Ano, když má nástroj krok pro běžné HTTP volání. Mnoho automatizačních nástrojů může odeslat GET s query stringem a přečíst zpět JSON, takže bezplatná akce overview nepotřebuje žádný kód.

Začněte pouze s bezplatnými akcemi. Flow, které se spustí při každém uložení konceptu, může utratit mince rychleji, než editor si toho všimne, takže přidejte placený krok, až bezplatná volání nějakou dobu běží klidně.

Co by měl spustit 402?

402 znamená, že zůstatek je prázdný. Neříká nic o stránce. Přeskočte placenou kontrolu, zalogujte událost a pošlete jedno upozornění tomu, kdo doplňuje účet, pak nechte publikování proběhnout.

Nastavte alarm zůstatku výrazně nad nulou, aby varování přišlo, když je ještě čas na doplnění. Smyčka opakování zde nepomůže, protože každé volání selže stejným způsobem, dokud někdo nepřidá kredity. Tabulka nákladů obsahuje čísla.

Otestujte dvě volání z terminálu

Spusťte je jednou proti doméně, kterou znáte, než to udělá hook za vás. Přečtěte si pole _credits ve druhé odpovědi.

bash
# free, no key
curl -s "https://contentin.app/api.php?action=overview&q=example.com"

# 2 credits, key in a header
curl -s -H "Authorization: Bearer sk_live_..." \
  "https://contentin.app/api.php?action=backlinks&q=example.com&per=100"

Která doména jde do parametru q

API přijímá holou doménu v q, takže plné URL musí být nejprve převedeno. Napište toto převod jednou, v jedné funkci. Pak ho otestujte na skutečných URL.

Relativní odkazy a chybějící schémata jsou případy, které obvykle rozbijí hook. Převod, který funguje na čistých příkladech, může stále selhat na neuspořádaných URL, která editor vloží v 17 hodin.

Změní www výsledek?

Možná ano a upřímný způsob, jak to zjistit, je zeptat se. Spusťte bezplatnou doménovou akci na obou formách jednoho webu, který znáte, pak porovnejte dvě odpovědi vedle sebe.

Jakékoliv pravidlo, které vyberete, zapište do komentáře v kódu, aby další inženýr nemusel hádat. Komentář nic nestojí a ušetří dlouhou hádku později.

Co s přesměrováními a subdoménami?

Pošlete hostitele, na který čtenáři skutečně dorazí, ne odkaz, který editor vložil před lety. Pokud tento odkaz přesměrovává, proveďte převod na konečnou adresu a ignorujte mezilehlý skok.

Blog na vlastní subdoméně je rozhodovací záležitost. Rozhodněte se předem, zda se kontroluje samostatně nebo společně s nadřazenou doménou, a zapište tuto volbu vedle pravidla.

Předpublikační kontrolní seznam pro hook

  • Hook se spouští pouze při publikování, ne při každém uložení konceptu
  • URL je převedeno na holou doménu před voláním
  • Bezplatné akce běží první a mince se utrácejí pouze při příznaku
  • 401 a 402 mají každé své vlastní upozornění a zprávu
  • Je nastavený timeout, takže pomalé API nikdy nezablokuje editora
  • Uložená poznámka obsahuje datum, takže nikdo ji nemůže zaměnit za živá data
  • Stejný záznam publikovaný dvakrát se nezpoplatní dvakrát (viz seznam mýtů)
  • Někdo si přečetl tabulku nákladů pro váš měsíční objem
Dřevěná lavice v dílně, kde dělník vhazuje kámen do sběrné nádoby a ozubené kolo

Co logovat a co zůstane mimo záznam

Řádek logu pro každou přeskočenou kontrolu je nejlevnější auditní stopa, jakou můžete vytvořit. Zaznamenejte ID záznamu, doménu, kterou jste odeslali, stavový kód a zda běžel placený krok. Obvykle to stačí.

Uložená poznámka zůstává krátká a datovaná, jak říkají výše uvedené kroky. Plné odpovědi patří do vašich vlastních logů, pokud patří kamkoliv, protože jsou velké a rychle zastarávají.

Která pole patří do řádku logu?

Začněte ID záznamu a verzí publikování. Opakovaný webhook se pak zobrazí jako stejný pár dvakrát, což je přesně to, co chcete vidět.

Přidejte doménu, název akce, stavový kód a čas, kdy volání začalo. Nechte klíč sám mimo, protože log, který ho obsahuje, se stane druhým místem, kde tajné údaje žijí.

Jak dlouho by měla uložená poznámka žít?

Po dobu, po kterou záznam existuje, pokud ho novější kontrola nenahradí. Důležité je, aby čtenář mohl poznat, jak stará je poznámka, protože poznámka z před několika měsíci vypadá jako živá data.

Průvodce polem skóre ukazuje čtyři pole, která pro tuto poznámku navrhujeme, včetně data.

Otestujte hook na stagingu před spuštěním

Spusťte tyto čtyři kontroly, než někdo začne na hook spoléhat.

  1. 1

    Přehrajte jedno minulé publikování

    Spusťte hook s kopií záznamu, který jste již publikovali. Porovnejte uloženou poznámku s tím, co jste očekávali, a potvrďte, že stejný záznam nebyl zpoplatněn dvakrát.

  2. 2

    Vyzkoušejte doménu registrovanou nedávno

    Použijte partnerskou doménu, která je pro vás nová. Prázdná nebo tenká odpověď by měla být uložena jako neznámá, ne jako selhání, a poznámka by to měla říct jasnými slovy.

  3. 3

    Záměrně vynutit 402

    Spusťte hook s klíčem na testovacím účtu, jehož zůstatek jste vyprázdnili. Potvrďte, že přeskočení, řádek logu a upozornění se všechny spustí a že publikování stále dosáhne sestavení.

  4. 4

    Přečtěte si zprávu, kterou editor vidí

    Požádejte někoho mimo tým, aby si přečetl chybovou zprávu nahlas. Pokud nemůže říct, co dělat dál, přepište zprávu před dnem vydání. Po analýze ukazuje, co stála nejasná zpráva jeden vymyšlený tým.

Co hook nevidí

Náš index se obnovuje přibližně jednou měsíčně. Odkaz přidáný po poslední obnově se nezobrazí a odkaz odstraněný od té doby se může stále objevovat. Pro důkaz ze stejného dne použijte Zprávu o odkazech v Google Search Console.