programing

angularjsgMeta 제목 설명이 Google에 의해 크롤링되지 않습니다.

stoneblock 2023. 10. 16. 21:29

angularjsgMeta 제목 설명이 Google에 의해 크롤링되지 않습니다.

저는 Angularjs 앱에서 https://github.com/vinaygopinath/ngMeta 을 사용하고 있습니다.

<title ng-bind="ngMeta.title"></title>
<meta property="og:title" content="{{ngMeta.title}}" />
<meta property="og:description" content="{{ngMeta.description}}" />

제 컨트롤러 코드는

app.controller('controller1',function($scope, $location , $http , $routeParams, ngMeta, $route){
    $scope.$route = $route;
    ngMeta.setTitle('site title');
    ngMeta.setTag('description', 'this is description');
    ngMeta.setTag('keywords', 'tag1, tsg2, tag3');
});

after page는 모든것이 잘 작동하지만 구글은 보여주고 있습니다.{{ngMeta.description}} {{ngMeta.title}}이 문제를 해결하는 데 도움이 될 수 있습니다.

SPA 앱의 SEO는 전통적인 방식으로 작동하지 않습니다.웹 사이트를 올바르게 탐색하려면 몇 가지 코드를 수정해야 합니다.두 가지 단계가 있습니다.

  1. 추가.meta태그 인 유어head크롤러에게 "이 사이트는 JS 의존도가 높은 사이트이므로 이 페이지를 다르게 요청해야 합니다."라고 말합니다.

좋아요:<meta name="fragment" content="!">

  1. 사이트를 사전 render해야 합니다(평균: JS가 완전히 로드되고 올바르게 실행되면 정적 사이트를 만들고 제목과 설명을 머리에 정확하게 입력). 이들을 포함한 ?_fragment_escaped_= 매개 변수가 있는 URL의 경우 해당 사이트를 미리 render해야 합니다.

IE: 있는 경우www.example.com, 다음과 같은 요청에 대해 서버가 rendered 이전 사이트를 반환해야 합니다.www.example.com?_escaped_fragment_=

이유:

크롤러 봇이 볼 때meta페이지를 요청할 태그를 지정합니다.?_escaped_fragment_=parameter, 하드코딩된 rendered 전 페이지를 얻을 것으로 생각합니다.{{ngMeta.title}}그리고.{{ngMeta.description}}.

그럼 어떻게 사이트를 선렌더 할 것인가요?

용도: Stepan Suvorov가 말한 https://prerender.io/ 또는 http://phantomjs.org/screen-capture.html 을 확인하십시오.

리소스:

https://builtvisible.com/javascript-framework-seo/

https://developers.google.com/webmasters/ajax-crawling/docs/getting-started

저는 SEO에 대한 리액트 어플리케이션과 비슷한 문제에 직면하고 있었습니다.

이 문제를 해결하는 가장 좋은 방법은 사전 렌더링을 사용하는 것입니다.

만약 당신의 Single Page Application이 API 호출을 하고 있다면, Google crawler는 ajax 호출이 끝날 때까지 기다리지 않기 때문에 기술적으로 API 호출을 통해 들어오는 당신의 콘텐츠를 읽지 않기 때문에 이 말을 하는 것입니다.웹마스터를 이용해서 이걸 알아내는데 며칠이 걸렸습니다.

그래서 팬텀을 사용할 수 있습니다.JS 또는 prerender.io (내부적으로 팬텀js를 사용함).그래서 이것이 하는 일은 html 파일을 파싱하고 자바스크립트의 내용을 정적인 내용으로 대체하여 봇들에게 적절하고 완전한 내용을 제공하는 것입니다.

또는 페이지가 처음 로드되는 경우 백엔드에서 직접 페이지를 서비스할 수 있으므로 이 또한 도움이 됩니다.

언급URL : https://stackoverflow.com/questions/37318380/angularjs-ngmeta-title-description-is-not-crawling-by-google