wc-ajax=get_refreshed_fragments + rychlost

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem wc-ajax=get_refreshed_fragments + rychlost

Zvolené téma obsahuje celkem 14 odpovědí. Do diskuze (4 účastníci) se naposledy zapojil uživatel  Pavelh a poslední změna je stará 7 let, 6 měsíců.

Aktuálně je na stránce zobrazeno 15 příspěvků - 1. až 15. (z celkem 15)
  • Autor
    Příspěvky
  • #29121

    furiant
    Participant

    Ahoj, provozuji web http://vsepropejska.cz/ a potýkám se s problémem s rychlostí.

    Pokud se podívám, na test https://www.webpagetest.org/result/160917_6M_HC1/

    Tak zde je několik věcí, které se evidentně načítají velmi pomalu a rád bych se Vás zeptal, co to je vlastně za funkce.

    První věcí je řádek 30, kde je “http://vsepropejska.cz/?wc-ajax=get_refreshed_fragments” O co se jedná? Co to je za funkci?

    Další řádek 103, kde se pro mě úplně nesmyslně načítá článek na blogu, společně s předchozí funkci.. ??????

    Další je řádek 105, kde se načítá odkaz “http://vsepropejska.cz/wp-admin/admin-ajax.php” z adminu? Proč?

    Poslední věcí je řádek 114, kde se úplně nesmyslně načítá obrázek, který na stránce ani nefiguruje. (již jsem ho změnšil)

    Byl by někdo tak hodný, a pomohl mi se zorientovat v těchto věcech? Děkuji!

    F.

    #29124

    Tomáš
    Participant

    Podrobnosti o tomto problému nalzenete zde (anglicky)

    #29181

    admin
    Keymaster
    Web

    Web mi nepřijde na první pohled pomalý, jen se občas na nějaké stránce trochu zasekne, spíše mi to připadá, že nestíhá hosting (nebo tam je nějaké omezení pro vyšší návštěvnost).

    Zkusím to nějak postupně vysvětlit (pokud budu vědět). Začneme u řádku 103, kde se načítá další příspěvek. To je podle mě na hlavní stránce způsobeno tímto kódem:

    <link rel="prefetch" href="http://vsepropejska.cz/vhodne-granule-jsou-zaklad-10-dil-calibra/">
    <link rel="prerender" href="http://vsepropejska.cz/vhodne-granule-jsou-zaklad-10-dil-calibra/">

    Nevím, jak se to tam dostalo (patrně nějaký plugin či šablona), ale jde o předběžné načítání dalšího příspěvku (vysvětleno je to např. zde). V podstatě z nějakého důvodu předpokládáte, že uživatel půjde z hlavní stránky na odkazovanou stránku a už si ji předem trochu připravujete a načítáte…

    Odstraněný obrázek na řádku 114, tedy http://vsepropejska.cz/wp-content/uploads/2016/02/Zeleny-svitici-obojek-pro-psa.jpg, se podle mě už v nově spuštěném testu neobjevuje.

    #29202

    furiant
    Participant

    Děkuji za reakci, asi mi nedokážete poradit, jak to opravit?

    Asi bych měl najít, kde je tento kód vložený a vymazat ho?

    Předem děkuji za odpověď a Váš čas.

    #29215

    admin
    Keymaster
    Web

    Těžko říci, kde to bude přesně vložené, ale patrně to bude generované dynamicky, takže to tam bude vkládat spíše nějaká funkce v rámci šablony nebo pluginu. Díval jsem se, že tam máte určitě různé optimalizační pluginy pro načítání JS a CSS, takže možná nějaký z nich (či nějaké konkrétní nastavení) by to mohl způsobovat.

    Používáte šablonu eCommerce (od MyThemeShop), mimochodem rok starou verzi 1.0.6, zatímco už je dostupná 1.1.9, která obsahuje mnoho oprav a optimalizací, takže bych rozhodně doporučil aktualizovat. Ale hlavně jsem se díval na demoverzi a ta tam nic podobného nemá. Takže jste to buď nastavil v rámci nastavení šablony nebo to je opravdu výsledek chování nějakého optimalizačního pluginu… Zkuste je postupně deaktivovat a uvidíte, zda to zmizí…

    #29295

    admin
    Keymaster
    Web

    @furiant: Podařilo se to nějak dořešit? Zapomněl jsem dodat, že základní podporu pro prerender a prefetch přidal i nový WordPress 4.6 (viz manuál), ale uvedený příklad z webu musí být podle mě nějak doplněn právě ze strany pluginu či šablony…

    #29296

    furiant
    Participant

    Bohužel jsem to zatím nezvládl vyřešit. Začal jsem pracovat na úpravě aktualizované šablony, ale udělali tam dost změn, a nedaří se mi ji dostat do stejné podoby jak vypadá teď. WordPress mám aktuální, ale pomalá rychlost stále zůstáva.

    Vy se náhodou nezabíváte těmito problémy s rychlostí? Neměl bych problém za tuto službu zaplatit.

    #29297

    admin
    Keymaster
    Web

    Můžeme se domluvit, ozvěte se prosím.

    Jako první krok bych ale viděl kompletní aktualizaci šablony. Budu potřebovat originální podobu šablony ve verzi 1.0.6, potom ji porovnám s aktuálně nasazenou verzí (získáme tím provedené úpravy) a následně bude třeba šablonu aktualizovat na novou verzi 1.1.9 a provedené úpravy tam doplnit (tentokrát ale v podobě samostatné odvozené šablony). Potom můžeme začít řešit další problémy s rychlostí (něco bude možná odstraněno právě aktualizací).

    #29363

    admin
    Keymaster
    Web

    Tak už jsem snad zjistil, odkud se bere prerender a prefetch :-)

    V souboru header.php je volána funkce mts_meta(), která je definována v souboru functions/theme-actions.php a zajímá nás následující část:

    <?php if($mts_options['mts_prefetching'] == '1') { ?>
    <?php if (is_front_page()) { ?>
        <?php $my_query = new WP_Query('posts_per_page=1'); while ($my_query->have_posts()) : $my_query->the_post(); ?>
        <link rel="prefetch" href="<?php the_permalink(); ?>">
        <link rel="prerender" href="<?php the_permalink(); ?>">
        <?php endwhile; wp_reset_postdata(); ?>
    <?php } elseif (is_singular()) { ?>
        <link rel="prefetch" href="<?php echo esc_url( home_url() ); ?>">
        <link rel="prerender" href="<?php echo esc_url( home_url() ); ?>">
    <?php } ?>
    <?php } ?>

    Vyplývá z toho, že pokud je uživatel na úvodní stránce, tak se předběžně načítá nějaký příspěvek/stránka (na základě defaultních parametrů WP_Query) a pokud je uživatel na nějaké stránce/příspěvku/produktu, tak se zase předběžně načítá úvodní stránka. Podle mě je ta funkce dost k ničemu (zejména pokud není uživateli často využíván tento postup), ale naštěstí ji můžete snadno vypnout v menu Vzhled – Theme Options – Performance – Prefetching – přepnout na “Off”. Tím ušetříte databázový dotaz a možná i nějaké načítání, zkuste po změně zase spustit nějaký test a doplňte sem odkaz, třeba to bude zase trochu lepší…

    #29364

    furiant
    Participant

    Dobrý večer,

    děkuji. Funkci jsem vypnul.

    Test: https://www.webpagetest.org/result/161010_C5_17Z1/1/details/#waterfall_view_step1

    Furiant

    #29407

    Pavelh
    Participant

    Dobry den,
    momentálně řeším ten stejný problém. (na webu http://www.slevojed.cz )
    Ale takovou funkci v menu administrace nenajdu.
    Šablona je aktuální od AIT theme.
    mám šileně dlouhý wait na začátku a potm u toho stejhneho scriptu:
    /?wc-ajax=get_refreshed_fragments
    viz: https://tools.pingdom.com/#!/et5oum/slevojed.cz

    zkusim sem instalaci pluginu “Heartbeat Control plugin” ale ani potom mi to nepomohlo.
    Napadaji prosim někoho nějaké rady? Díky Pavel

    #29408

    admin
    Keymaster
    Web

    @pavelh: Obecně je to tak, že počáteční zdržení (2 sekundy) + další zdržení u /?wc-ajax=get_refreshed_fragments je vlastně to samé, protože jde o následný Ajaxový request a tedy se vše znovu načítá (jako na začátku). Problém tedy podle mě není v tom, že to tam prostě je, ale spíše jde o nějaký související problém, který celý web (dvakrát!) zpomaluje (nejčastěji jde o mnoho SQL dotazů, zastaralé pluginy, šablona, atd). Bohužel na to není žádné jednoduché řešení, ale je třeba web trochu analyzovat, aktualizovat, prověřit SQL dotazy, zkusit vypnout pluginy a nasadit výchozí šablonu, případně odpojit některé nepotřebné funkce. Následovat může minifikace, cachování, atd.

    S @furiant jsme se domluvili na spolupráci, ale teprve začínáme na testovací verzi webu. Problémů je tam více než dost, kromě staré šablony a některých pluginů se na stránkách produktů spouští třeba 450 SQL dotazů, což je opravdu velmi mnoho a vede to k celkovému zpomalení webu. Pokud objevím nějaké jednoduché pravidlo, které by šlo aplikovat, tak to sem doplním, ale obecně je každý web trochu jiný…

    #29414

    Pavelh
    Participant

    @admin No zkusim jsme uplne na jine domene co je hostovana samostatně.
    Nahodil jsem WordPress, šablonu, Woocomerce. Žadnej jinej plugin. Stejny waity zhruba …. pokud sem vypnul woocomerce tak to hned bylo v pořádku.

    Jinak problem je jak jsem řikal Vy v přednačítáním. Je to v nové verzi woocommerce (napadaá mě než to doladim, downgrade na minulou verzi)
    Jinak jsem našel nějaký navody jak ten AJAX omezit.

    Při testování jsme zjistil, že čim déle web jede, tim se doba načítání nějak prodlužuje…. takže zatim několikrát deně, zakážu všchny pluginy, potom je spustim…..

    Ale problem jako takovy to vypada že to prostě wedos nestíhá (je to taky hosting wedos NoLimit?) Něco podobného jsme řešili s jiným klientem cca před týdnem, tam sme ale řešili jen dobu načítání a nevím jestli to bylo uplně to samé(ale také na wedosu)

    Přemýšlim otestování hostingu u někoho jineho než wedos a pokud kopie webu pojede v pohodě, tak bych od wedosu odešel….

    Nějaké poznatky co jste našel Vy? =) Diky Pavel

    #29419

    admin
    Keymaster
    Web

    @pavelh: Těžko říci, musel bych to vidět… WooCommerce je sám o sobě dost náročný plugin (z hlediska spouštěných PHP skriptů), ale hodně může způsobovat i šablona. Zkoušel jste WooCommerce + Twenty Sixteen?

    Problém s přednačítáním je v našem případě způsoben šablonou. Jakým způsobem jste nakonec Ajax omezil?

    Počáteční wait je obvykle způsoben klasickým načítáním webu a pomůže ho výrazně urychlit nějaký cachovací plugin. Pokud se wait zhoršuje s tím, jak dlouho je web funkční, tak se tam někde něco špatně ukládá a zatěžuje to databázi. Ve WooCommerce lze např. ručně čistit dočasná data (transienty), ale vždy je to pouze následek, protože příčina je ukrytá někde jinde…

    Zkoušel jste u Wedosu zapnout nejnovější verzi PHP 7? Zrychlení je tam poměrně výrazné…

    #29499

    Pavelh
    Participant

    @admin Zdravim, tka nakonec jsme to vyřešil tak nějak že mi to jede a pro jistotu jsem začal vývoj dev verze kde si vše odladim a pak nasadim na ostrou a bych netestoval na ostre verzi.

    Jinak ostra verze zatim vyřešena následovně:
    1, PHP nastaveno na hostingu na 7
    2, Zakoupen lepší hosting (povoleno váce PHP scriptu zároveň a delší timeout)
    3, Kontrola podpory šablony – podporuje Woocomerce verze 2.5.x , tudíž downgrade na tuto podporovanou verzi
    4, Vypnuti všech pluginů, ketré nutně nepotřebuji.

    Toto byli 4 upravy co jsem udělal a pak vše jelo zase pěkně rychle.
    Teď si připravuju novou verzi webu kde ji ji otestuji a potom ji nasadim. Podezření mám na tu kompatibilitu verzí Woocomerce hlavně a určitě pomůže i lepší hosting. =)
    Jak jste to vymyslel vy?
    Pěkný den a mnoho uspěchu

Aktuálně je na stránce zobrazeno 15 příspěvků - 1. až 15. (z celkem 15)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti