Вопрос

Я использую простой контроллер, чтобы изменить мой показанный вид inventjs, как это:

    getInitialState: function() {
        return {view: null};
    },
    setViewFromHash: function () {
        var that = this;
        var address = window.location.hash;
        if(address != "")
        {
            address = address.substring(1);
            require(["jsx!" + address], function (View) {
                that.setState({view: View});
            });
        }
        else
        {
            require(["jsx!Home"], function (View) {
                that.setState({view: View});
            });            
        }
    },
    componentWillMount: function () {
        var that = this;
        window.onhashchange = function () {
            that.setViewFromHash();
        };
        this.setViewFromHash();
    },
    onTitleUpdate: function(title, canonical) {
        document.title = title + titleDefault;
        $('link[rel=canonical]').prop('href', canonicalDefault + canonical);
    },
    render: function () {
        var viewToLoad = null;
        if (this.state.view === null) {
            viewToLoad = "Loading...";
        } else {
            viewToLoad = this.state.view({ onTitleUpdate: this.onTitleUpdate });
        }

        return (
            <article>
                {viewToLoad}
            </article>
        );
    }
.

В представлении I вызываю обратный вызов:

var Home = React.createClass({
    render: function () {
        this.props.onTitleUpdate("Home", "");
...
.

Мой вопрос в том, что этот обратный вызов произойдет в точке, который принесет пользу SEO, то есть название страницы и канонические изменения, они обновляются таким образом, что запускает бот Google, чтобы понять, что название и канонические изменились?

.

Я также рассматриваю, что использует Cortex для управления моими данными, это будет лучше?Худший?Без разницы?Что касается восприятия SEO / Google Bot из «страницы», это просмотр?

Это было полезно?

Решение

Google обычно сохраняет подробности о том, когда они выполняют JavaScript под оборапами; Рассмотрим эту цитату с 2010 года:

"На некоторое время мы сканировали в JavaScript, и мы искали ссылки. Google получил умнее о JavaScript и может выполнить некоторую JavaScript. Я бы не сказал, что мы выполняем все условия в Что мы не выполняем JavaScript. Конечно, есть некоторые общие, известные JavaScript такие, как Google Analytics, которые вы даже не хотели бы выполнить, потому что вы не захотите пытаться генерировать призрачные визиты от GoogleBot в вашу аналитику Google ".

в целом, я бы просто предположил, что Google (и, безусловно, некоторые другие поисковые системы) не будут выполнять мой JavaScript, что означает, что любые изменения, которые я делаю на странице, не будет забран. Конечно, вы можете просто попробовать его, а Посмотрите, что Google видит знать, если это сработает.

В любом случае реагирование имеет возможность рендеринга На стороне сервера и прозрачно подключите его обработчики событий на клиенте, давая вам возможность легко обрабатывать как легко. (Вам может потребоваться повторный jger какой-то код, чтобы заставить его работать в обоих контекстах.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top