XF 2.2 Скрыть от поисковиков виджет "Поделиться страницей"

Версия XenForo
2.2.13.

Glek

Проверенные
Сообщения
182
Решения
13
Реакции
47
Баллы
60
Как можно скрыть эти внешние ссылки от поисковиков?
1705484687041.png
 
Как можно скрыть эти внешние ссылки от поисковиков?
Скрыть можно только от Яндекса, условием в шаблоне по юзер-агенту.
Но не от Гугла, который может посещать страницы как посетитель, с обычным юзер-агентом.

Можно скрыть от гостей, под которые попадают поисковики.
 
Я думаю можно попробовать установить данный плагин - https://xenforo.info/resources/bs-robot-user-group.8658/
Зделать группу для ботов и для той группы установить условие отображение этого виджета.
 
Тут первый вопрос - зачем прятать?
Исходя из ответа, можно что-то предложить.
Например загнать в <form>

Зделать группу для ботов и для той группы установить условие отображение этого виджета
Проблема в том, что от Гугла это не поможет. Он хитрее чем может показаться.
Во первых, он ходит под разными Юзер-агентами, и во вторых (есть мнения) он видит не только ссылки, но и переходы по ссылкам через браузер, статистику провайдеров, и тд.
 
Чем вообще измерять будешь что поисковик видит/не видит ссылки ?

Вот для эксперимента сделал share_page_macros
Просто замени стандартный шаблон, проверяй - видит или нет ))


Код:
<xf:macro name="buttons"
    arg-iconic="{{ false }}"
    arg-hideLink="{{ false }}"
    arg-label=""
    arg-pageUrl=""
    arg-pageTitle=""
    arg-pageDesc=""
    arg-pageImage="">


    <xf:if contentcheck="true">
        <xf:css src="share_controls.less" />


        <div class="shareButtons {{ $iconic ? 'shareButtons--iconic' : '' }}" data-xf-init="share-buttons" data-page-url="{$pageUrl}" data-page-title="{$pageTitle}" data-page-desc="{$pageDesc}" data-page-image="{$pageImage}">
            <xf:if is="$label is not empty">
                <span class="shareButtons-label">{$label}</span>
            </xf:if>


            <div class="shareButtons-buttons">
                <xf:contentcheck>
                    <xf:if is="$xf.options.facebookLike">
                        <span style="cursor: pointer;" class="shareButtons-button shareButtons-button--brand shareButtons-button--facebook" data-href="https://www.facebook.com/sharer.php?u={url}">
                            <i aria-hidden="true"></i>
                            <span>{{ phrase('facebook') }}</span>
                        </span>
                    </xf:if>


                    <xf:if is="$xf.options.tweet.enabled">
                        <span style="cursor: pointer;" class="shareButtons-button shareButtons-button--brand shareButtons-button--twitter" data-href="https://twitter.com/intent/tweet?url={url}&amp;text={title}{{ $xf.options.tweet.via ? '&amp;via=' . $xf.options.tweet.via : '' }}{{ $xf.options.tweet.related ? '&amp;related=' . $xf.options.tweet.related : '' }}">
                            <i aria-hidden="true"></i>
                            <span>{{ phrase('twitter') }}</span>
                        </span>
                    </xf:if>


                    <xf:if is="$xf.options.redditShare">
                        <span style="cursor: pointer;" class="shareButtons-button shareButtons-button--brand shareButtons-button--reddit" data-href="https://reddit.com/submit?url={url}&amp;title={title}">
                            <i aria-hidden="true"></i>
                            <span>{{ phrase('reddit') }}</span>
                        </span>
                    </xf:if>


                    <xf:if is="$xf.options.pinterestShare">
                        <span style="cursor: pointer;" class="shareButtons-button shareButtons-button--brand shareButtons-button--pinterest" data-href="https://pinterest.com/pin/create/bookmarklet/?url={url}&amp;description={title}&amp;media={image}">
                            <i aria-hidden="true"></i>
                            <span>{{ phrase('pinterest') }}</span>
                        </span>
                    </xf:if>


                    <xf:if is="$xf.options.tumblrShare">
                        <span style="cursor: pointer;" class="shareButtons-button shareButtons-button--brand shareButtons-button--tumblr" data-href="https://www.tumblr.com/widgets/share/tool?canonicalUrl={url}&amp;title={title}">
                            <i aria-hidden="true"></i>
                            <span>{{ phrase('tumblr') }}</span>
                        </span>
                    </xf:if>


                    <xf:if is="$xf.options.whatsAppShare">
                        <span style="cursor: pointer;" class="shareButtons-button shareButtons-button--brand shareButtons-button--whatsApp" data-href="https://api.whatsapp.com/send?text={title}&nbsp;{url}">
                            <i aria-hidden="true"></i>
                            <span>{{ phrase('whatsapp') }}</span>
                        </span>
                    </xf:if>


                    <xf:if is="$xf.options.emailShare">
                        <span style="cursor: pointer;" class="shareButtons-button shareButtons-button--email" data-href="mailto:?subject={title}&amp;body={url}">
                            <i aria-hidden="true"></i>
                            <span>{{ phrase('email') }}</span>
                        </span>
                    </xf:if>


                    <xf:if is="$xf.options.webShare">
                        <span style="cursor: pointer;" class="shareButtons-button shareButtons-button--share is-hidden"
                            data-xf-init="web-share"
                            data-title="{$pageTitle}" data-text="{$pageDesc}" data-url="{$pageUrl}"
                            data-hide=".shareButtons-button:not(.shareButtons-button--share)">
                            <i aria-hidden="true"></i>
                            <span>{{ phrase('share') }}</span>
                        </span>
                    </xf:if>


                    <xf:if is="$xf.options.linkShare AND !$hideLink">
                        <span style="cursor: pointer;" class="shareButtons-button shareButtons-button--link is-hidden" data-clipboard="{url}">
                            <i aria-hidden="true"></i>
                            <span>{{ phrase('link') }}</span>
                        </span>
                    </xf:if>
                </xf:contentcheck>
            </div>
        </div>
    </xf:if>
</xf:macro>


<xf:macro name="share_clipboard_input" arg-label="!" arg-text="!" arg-successText="">
    <xf:css src="share_controls.less" />
    <xf:set var="$id">{{ unique_id() }}</xf:set>
    <div class="shareInput" data-xf-init="share-input" data-success-text="{$successText}">
        <xf:if is="$label">
            <label class="shareInput-label" for="{$id}">{$label}</label>
        </xf:if>
        <div class="inputGroup inputGroup--joined">
            <div class="shareInput-button inputGroup-text js-shareButton is-hidden"
                data-xf-init="tooltip" title="{{ phrase('copy_to_clipboard')|for_attr }}">
                <i aria-hidden="true"></i>
            </div>
            <xf:textbox class="shareInput-input js-shareInput"
                value="{$text}" readonly="true" id="{$id}" />
        </div>
    </div>
</xf:macro>
 
Последнее редактирование:
Я думаю можно попробовать установить данный плагин - https://xenforo.info/resources/bs-robot-user-group.8658/
Зделать группу для ботов и для той группы установить условие отображение этого виджета.
От этого мода появляется интересный эффект. Если допустим есть закрытые от гостей разделы и дать туда доступ роботам по отдельно для них сделанной группе, то раздел гостям как бы и не видно,но сам раздел и темы по прямой ссылке становятся гостям доступны.
Пока не понял почему так,может с каким то модом конфликтует.
 
Тут основная проблема - молчание вопрошающего.
Он написал "А", но не написал "Б".
То есть, для какой цели
Как можно скрыть эти внешние ссылки от поисковиков?

Ссылки можно убрать для всех, при этом виджет будет работать для всех.
Второй вопрос был - чем он собирается проверять, видят поисковики ссылки или нет.
Но как всегда, в ответ тишина ....
Из чего делаю вывод что ему мягко говоря накакать на то, что ему здесь отвечают
 
Инструменты Яндекс и Гугл - проверка страницы
И что там можно узнать?
Проверять нужно не индексацию страницы, а видит или нет поисковик ссылку на странице.
В предложенном мной варианте, <a> заменён на <span>, но URL прописан прямым текстом в data-page-url и data-href.
То есть, поисковики URL перехода по любому "увидят" в атрибутах тега <span>, а вот посчитают ли они это ссылкой, это вопрос.
 
Последнее редактирование:
Проверять нужно не индексацию страницы, а видит или нет поисковик ссылку на странице.
Можно HTML вариант посмотреть страницы,как ее видит робот.
Не только индексацию
То есть, поисковики URL перехода по любому "увидят" в атрибутах тега <span>, а вот посчитают ли они это ссылкой, это вопрос.
Этот вариант наверняка знают только в Яндексе но по своему опыту с Гуглом - скорее всего увидит
Я от Гугл Адсенс прятал как то ссылку. Пока я ее физически не убрал он ее под любым "соусом" видел
 
Этот вариант наверняка знают только в Яндексе но по своему опыту с Гуглом - скорее всего увидит
Увидеть - увидят. Все ссылки в коде страницы проверяются по регуляркам на ссылки. Без разницы в каком теге и прочее. Да, дерево страницы по тегам тоже строится, но найти ссылку в тексте это дело двух секунд, чтобы таким пренебрегать
 
Тут до сих пор не озвучен ответ - для чего требуется скрывать.

Написанный URL - это ещё не ссылка.
Он может быть закомментирован в коде, либо в неучитываемых атрибутах.
То есть, увидеть url в коде и увидеть ссылку на странице, это разные вещи.

Так-же неплохо вспомнить HTML, где сказано что ссылка это тэг <a> с атрибутом "href" в котором значение "url".
Когда нет ни тэга a, ни атрибута href, есть только url в коде, то насколько поисковик посчитает это ссылкой, знает только он сам.
 
Последнее редактирование:
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу