I am working on a website but not all of its pages are getting indexed in Google. Everything seems fine to me from the URL structure to the canonical tag. However, when I check the pages header response code they are returning a 403. Also some of pages are indexed with #!(www.example.com/site.html#!). What should I do to fix the problem?

  • How are you checking the page headers? Are you using "Fetch as Google" from Webmaster Tools, or are you testing it locally with your browser or another tool? Commented Feb 17, 2016 at 10:22
  • I am checking it through a tool and one more interesting thing I have noticed when i checking the cache of www.example.com/site.html (403 response code) page, cache page is www.example.com/site.html?_escaped_fragment_= and its status code is 200. So not able to understand why this is happening Commented Feb 17, 2016 at 10:27
  • When your site gives a 403 response code, does it also give an error message rather than showing the correct content? Or does it show the correct page with the incorrect status? Commented Feb 17, 2016 at 10:28
  • pages are working normally but not indexing in Google properly. As i wrote above cache of most pages is going with www.example.com/site.html?_escaped_fragment_ and here it show 200 status code Commented Feb 17, 2016 at 10:31

2 Answers 2


In theory: A web server may return a 403 Forbidden HTTP status code in response to a request from a client for a web page or resource to indicate that the server can be reached and understood the request, but refuses to take any further action. Status code 403 responses are the result of the web server being configured to deny access, for some reason, to the requested resource by the client.

Actions: You should add index.php file in every directory of your website if it's lacking, (It can also be empty). You should check the robots.txt file I think for wordpress by default it's Disallow / which means disallow all you should disallow wp-admin wp-login search and other modules you want to hide from the search engine but you shouldn't disallow all of them like it is by default. It could be a server side problem or file permission problem it would be usefull if you can send a list of the file permissions on your site in a perfect universe your content that should be displayed to both users and google should have a 755 code which means you can read-write-execute , while group and world can read and execute your files. More about file permissions: https://codex.wordpress.org/Changing_File_Permissions


And, inn addition to knif3r's answer,

Also some of pages are indexed with #!(www.example.com/site.html#!). What should I do to fix the problem?

# is anchor.

so that means that if you want to go to specific post or part of the page, you just state after # where to go.

Here's a great example. You can play with anchors here and notice how the link in your bar changes depending on what you've clicked.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.