Na kontrolu zpětných odkazů s partnerskými weby (nemám jich ale moc) používám někdy placený, momentálně jen základní, účet u českého projektu Collabim. Kontrolu odkazů v něm nastavíte velice snadno, krom toho umí spoustu dalších věcí, neboť hlídač odkazů je jen jaksi vedlejší funkcí. Pro jeden web je zadarmo.
Když jsem se o víkendu probíral staršími články na Maxiorlovi, vzpomněl jsem si na docela užitečný tip Jak importovat a parsovat data z webu do tabulky v Google Docs. S pomocí funkce ImportXML můžete zpracovat jakoukoli dostupnou webovou stránku a dále v tabulce pracovat s jejími daty.
Se znalostí této možnosti je tedy jen krůček od toho, abyste místo importu tabulek či kurzů měn do Google Docs vytvořili „udělátko“, které bude kontrolovat zpětné odkazy na partnerských webech.
Připravte si tabulku
Začněte tím, že si otevřete nový sešit, respektive Tabulku Google Docs. Vytvořte si v ní sloupečky Web, Partner, Odkaz u partnera a Stav. Do sloupečku Web vyplňte názvy svých domén, na které by partneři měli odkazovat. Požadujete-li přesnou kontrolu, zadejte kompletní URL včetně odkazu na nějakou konkrétní stránku na vašem webu. Do sloupce partner vložte adresu odkazu stránky, ze které na váš web uvedený v prvním sloupci mají odkazovat.
ImportXML a kontrola přítomnosti odkazu
Ve třetím sloupečku – Odkaz u partnera, použijeme nyní pro některé z vás možná malé kouzlo. Funkce ImportXML() nám zajistí stažení dat z nějaké webové stránky. Jako druhý argument jí můžeme předat XPath řetězec specifikující, jakou část ze stažené adresy chceme do buňky vypsat. Podobněji viz výše zmíněný článek.
Potřebujeme tedy sestrojit něco jako =Importxml("www.polzer.cz";"//a[contains(@href, 'maxiorel.cz')]/@href"), což nám vrátí odkazy z webu www.polzer.cz, které v atributu href obsahují řetězec maxiorel.cz. Aby nám to fungovalo s daty uvedenými v tabulce, tak musíme příslušné řetězce nahradit označením buňky.
Zdrojová URL je jasná. Jako první argument funkce ImportXML použijeme označení buňky v druhém sloupci, tedy B2, protože chceme stáhnout HTML partnerské stránky. V něm potřebujeme vyhledat odkazy s řetězcem uvedeným v prvním sloupci, tedy v A2. Druhý atribut tedy zaměníme za "//a[contains(@href, '"&A2&"')]/@href". Všimněte si, že A2 musí zůstat v apostrofech, takže mezi nimi tedy řetězec argumentu rozpojíme, dopíšeme označení buňky se vstupním řetězcem a spojíme s argumentem pomocí značek &.
Výsledný řetězec tedy bude =Importxml(B2;"//a[contains(@href, '"&A2&"')]/@href")
Až jej budete kopírovat do buněk v dalších řádcích, dejte pozor na to, aby se čísla zdrojových buněk dobře nahradila, případně použijte úpravu v podobě =NOEXPAND(Importxml(B3;"//a[contains(@href, '"&A3&"')]/@href")).
Touto úpravou budeme tedy do třetího sloupce zapisovat URL odkazu z partnerského webu.
Sloupeček se stavem a podmíněné formátování
Zbývá naplnit poslední sloupec se stavem zpětného odkazu. Protože Google Docs v momentě, kdy zpětný odkaz nenajde, naplní třetí sloupec výrazem #N/A, použil jsem tuto podmínku:
=IF (isna(C5);"Chybí odkaz";"Vše v pořádku")
Jestliže tedy odkaz na partnerském webu není nalezen, zapíšeme nám tento vzorec do sloupce Stav text Chybí odkaz, v opačném případě zobrazí hlášení, že je vše v pořádku.
Trošku to ještě vylepšíme pomocí barev a podmíněného formátování. Označte buňku ve čtvrtém sloupci a zavolejte funkci Formát > Podmíněné formátování. Do dialogu nastavte, že pokud text buňky obsahuje výraz Chybí odkaz, bude text buňky bílý a její pozadí červené. Pravidlo uložte a nastavení buňky klasicky překopírujte do dalších řádků.
Výsledná tabulka by tedy měla vypadat nějak takto:
Máte nějaké další nápady jak tento jednoduchý ověřovač zpětných odkazů vylepšit? Pokud ano, mohu to použít jako námět na některý další článek.
Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.
Podobné články
Komentáře k článku
No, není vyměněný odkaz jako vyměněný odkaz. Tohle nicméně není místo k bádání nad tím, zda to Google má nebo nemá rád. Prostě jen ukázka dalšího parsování v Google Docs Spreadsheetu.
Možná by stálo za to zmínit, že importXML je omezeno na max. 50 výskytů ve spreadsheetu. (aspoň to tak dřív bývalo, už jsem to dlouho nepoužil).
Limit je pořád 50 kusů. Pokud chcete automaticky evidovat odkazy zdarma, můžete použít službu Linkmonitor, která původně vznikla jako monitoring vyměněných a prodaných odkazů: https://www.linkmonitor.cz/
Tipy na jiné užitečné weby prosím, zvlášť, pokud se přiznáte, když budete jejich autory. Ale dávat sem svoje affil kódy? Ale no tak, to se nedělá ... Odstraněno ;-)
Netušil jsem, že tu máte affil zakázaný, pravidla diskuse jsem neviděl žádná (tip na doplnění) a affil přece není zlo. Autorem služby nejsem.
Malej trik na to je, akorát už je to trochu vyšší dívčí. Viz Bulk ImportXml tool & source (Google docs spreadsheets).
Mohlo by to fungovat i na skydrive? Taky je tam v podstatě online excel... Díky za tip, vypadá to dobře!
Nevím, jak webové verze Excelu, ale desktopová ImportXML() neumí. Umí jiné věci a dalo by se to řešit pomocí maker a Visual Basicu, ale to už není taková elegance.Ještě můžeš prozkoumat plugin pro Excel s názvem SeoTools for Excel. Kromě jiného přidává podobnou funkci jako ImportXML() pro zpracování webů pomocí XPath. A nemělo by to být omezeno na těch 50 položek jako v Google Docs Spreadsheetu.
Dobrý den, jde nějak udělat, aby se výsledky logovaly denně? Tedy každý den načíst, zda byl odkaz či nebyl "živý" a udělat pro to další řádek v tabulce? Na konci měsíce by to udělalo graf dostupnosti.
Děkuji
R
Přiznám se, že toto neumím. Ale zde je pěkný článek o automatické aktualizaci a zpracování dat v Google Docs, takže by to mohl být vstupní bod pro váš nápad. Automating Google Spreadsheets – Email Reminders.
Zdravím Vás, zajímavá "fíčura". Ale stává se mi (často), že naskočí ještě další řádek, který obsahuje něco jako toto =CONTINUE(C5; 2; 1)
Jo, to záleží na tom, jak se kopírují vzorce v Google Docs. Já to řeším tak, že dám tři pod sebe ručně a při dalším kopírování vzorců se to již napíše správně. Pokud protahuju při kopírování jenom jednu buňku, zmrší se to.
U Googlu si nechat kontrolovat odkazy na weby, když Google vyhledávač to nemá rád, tyhle výměni odkazů a placené odkazy.