2016-01-22 26 views
6

kılmaz gibi getir. Okuduğum gibi, Google artık AJAX sayfalarını tarayabiliyor. Google hizmet olarak Getir ile nasıl çalıştığımı kontrol ediyorum. Ana sayfa tüm önemli tarayıcılarda doğru bir şekilde oluşturulmasına rağmen, Google Gibi Getir, Angular'ın yönergelerinin hiçbiri derlenmemiş ve hata içermeyen boş sayfa döndürür. HTML5 modu ve ui-router kullanıyorum. Dosyalar, node.js uygulama sunucusu tarafından servis edilir (nginx'ten dosyalar sunmaya çalıştım ve sonuç aynıydı) ve tüm dosyalara robots.txt tarafından izin verilir. Komut dosyaları birleştirildi ve minimize edildi. Konsolda hata yok.Google I i üretim ortamında kurmaya çalışıyorum bir Açısal uygulaması var angularjs uygulamayı

Kod Google hizmetine gibi Getir tarafından döndürülen: Doctype'ı html> yanlış yapıldığını ya da sadece tarayıcılar için önceden oluşturma ile gitmeli şey

<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <base href="/"> 
    <title ng-bind="$state2.current.data.pageTitle || 'xxx'"></title> 
    <meta name="description" content="{{$state2.current.data.description}}"> 
    <meta name="keywords" content="{{$state2.current.data.keywords}}"> 
    <meta name="viewport" content="width=device-width"> 
    <!-- Place favicon.ico and apple-touch-icon.png in the root directory --> 
    <link rel="stylesheet" href="app/b91daaea.vendor.css"> 
    <link rel="stylesheet" href="bower_components/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.css" /> 
    <link rel="stylesheet" href="app/dbc6e533.app.css"> 
</head> 

<body iact-set-body="{{$state2.current.name}}" ng-cloak ng-controller="IndexCtrl as Index" ng-class="{'register-page' : $state2.current.name === 'register.one'}"> 
    <iact-progress-bar ng-if="$state2.current.name === 'main.post'" class="progress-bar progress-bar--page"></iact-progress-bar> 
    <div class="alert-block" alert-box></div> 


    <loader ng-show="showLoader"></loader> 
    <div class="ui-view-container"> 
    <div ng-cloak ui-view></div> 
    <div ng-cloak ui-view="layer" class="ui-view-layer"></div> 
    </div> 


    <!--[if lt IE 7]> 
    <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade 
     your browser</a> to improve your experience.</p> 
    <![endif]--> 
    <!--[if lt IE 9]> 
    <script src="bower_components/es5-shim/es5-shim.js"></script> 
    <script src="bower_components/json3/lib/json3.min.js"></script> 
    <![endif]--> 
    <script src="https://cdn.socket.io/socket.io-1.3.7.js"></script> 
    <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB5s1GO-SwKumRL-es-SHnGYwom55LpJyM&libraries=places"></script> 
    <script src="app/9b5d1095.vendor.js"></script> 
    <script src="app/b49bc91c.app.js"></script> 
</body> 

</html> 

var mı? Son zamanlarda araştırma yapmak

+0

Aynı sorunu yaşıyorum, garip olan şey, google getirme ve görüntülediğimde, "google göründüğü gibi" sayfalarını bana gösteriyor, bu kafa karıştırıcı, çünkü sadece getirdiğinde (ve önbellek btw içinde depolar ..) .) şablon yüklemesi olmadan. – FireBrand

+0

[Google Web Yöneticisi Araçları Olarak Getir] 'in olası kopyası (http://stackoverflow.com/questions/29662999/fetch-as-google-webmaster-tools) –

cevap

-2

, internetten ezici görüş bir angularjs uygulama var ve bunu Google tarafından taranmış ve dizine eklenmesini istiyorsanız, statik HTML anlık oluşturmak, prerender veya brombone gibi bir şeye ihtiyacım olduğunu bulmuştur Sitenizin sayfalarını bu yüzden arama motorları dizine ekleyebilir. SEO optimizasyonu iş hakkında süper ciddi iseniz

, bunu araçlarını kullanmak çok dikkatli olması gerektiğini düşünüyorum. İlk olarak, Ajax taramayı tanımlayan Google'dan bir şartname kullandığını söylediler. Ancak bu şartname kullanımdan kaldırılmıştır.

Öncesi render gizleme neden olabilir. Bir web sitesi, kullanıcılara arama motorlarından farklı bir içerik gösterdiğinde gizlenme gerçekleşir. En azından, gizleme yapıyorsanız Google cezalarla doludur. Lütfen, iki farklı sürümü sunarken, gizleme için web sitelerinizi test edin, test edin ve test edin!

Google diyor ki: Gizli metin veya bağlantı içerip içermediğini görmek için sitenizi değerlendirirken, sitenizin ziyaretçileri tarafından kolayca görüntülenemeyen herhangi bir şey olup olmadığına bakın.

Google'a farklı ya önceden işlenen içerik sunmak için gerek yoktur. Aslında, uygulamanızdaki normal SEO sözleşmelerini takip ettiğiniz sürece Google, AngularJS uygulamanızı tazeleyebilir, oluşturabilir ve dizine ekleyebilir. Ayrıca endekslemek için biraz zaman ayırın.

Yasal Uyarı: Bu teorik bir kavramdır. Testler, Google'ın bir saf AngularJS sitesini düzgün bir şekilde ayarlandığında iyi bir şekilde tarayabildiğini, oluşturduğunu ve dizine ekleyebileceğini gösterir. Ancak, diğer arama motorları ve tarayıcıların içeriğinizi doğru bir şekilde tarayama olasılığı düşüktür. Saf bir JS ortamında Bing, Yahoo veya Yandex tarafından dizine eklenmezsiniz; Facebook, Twitter, Pinterest ve diğer pek çok sosyal ağın sayfalarınızın neyle ilgili olduğu hakkında hiçbir fikri yoktur. 2016'da, dış kaynaklardan gelen trafiği önemsiyorsanız, bir üretim sitesinde saf bir JS mimarisi uygulamamalısınız.

İlgili konular