2

Google search results show wrong domain (that is on the same web server), i.e. site:rose.spb.ru shows pages from site:xn--h1adaodgdoce7g.xn--p1ai which result in 404 when clicked. Any help is appreciated
Edit
Sorry if it is not clear. Google search results show pages from domain xn--h1adaodgdoce7g.xn--p1ai as if they are under domain rose.spb.ru. Both domains are on the same server and are accessible through https only. Here is an example, if you type site:rose.spb.ru in Google (google.ru, google.co.uk) you get a bunch of pages that are actually on xn--h1adaodgdoce7g.xn--p1ai (if you send appropriate Host header) and so when one clicks on them sending wrong Host header one gets 404 Not found and people do click on them.
enter image description here


Edit
I now set up a redirection to the correct domain for most of the urls, so you won't see a 404 for them. It seems that Google used to send the IP address as the value of the Host header when indexing and was redirected to the default domain. Does anyone know about Google using IP address as Host and why would this happen ? Also if you click on 'Cached' in the results, for some of them you get one domain for the others you get a different one.
Edit
Both virtual hosts had ServerName set accordingly so I don't think it was possible to access them with wrong Host header:

<VirtualHost *:443>
     ServerName rose.spb.ru
     ServerAlias www.rose.spb.ru
    DocumentRoot /rose.spb.ru
     ...    
</VirtualHost>
<VirtualHost *:443>
     ServerName xn--h1adaodgdoce7g.xn--p1ai
     ServerAlias www.xn--h1adaodgdoce7g.xn--p1ai
     DocumentRoot /xn--h1adaodgdoce7g.xn--p1ai
     ...    
</VirtualHost>
<VirtualHost *:80>
     ServerName rose.spb.ru
     ServerAlias www.rose.spb.ru
     DocumentRoot /rose.spb.ru
     ...    
</VirtualHost>
<VirtualHost *:80>
     ServerName xn--h1adaodgdoce7g.xn--p1ai
     ServerAlias www.xn--h1adaodgdoce7g.xn--p1ai
     DocumentRoot /xn--h1adaodgdoce7g.xn--p1ai
     ...    
</VirtualHost>

Edit
I think it has to do with the previous owner of the IP address. If you type site:188.120.225.32 (which is the IP address of xn--h1adaodgdoce7g.xn--p1ai) in google.co.uk you get a bunch of indexed pages that were on the this IP address before:
enter image description here


I think for some reason Google tried to index the new website on that IP using IP address as the Host header, it was redirected 301 to a default domain rose.spb.ru where it should have gotten 404 Not found just like the users who clicked on the links, but somehow it did include these pages in the index.

closed as unclear what you're asking by Simon Hayter Mar 21 '17 at 17:44

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Sorry but neither of your examples return the issue your having. We need more information to assist such as what page number are your seeing them? does this occur on google.com, google.ru etc? have you talked to your web host? – Simon Hayter Mar 21 '17 at 17:46
  • Can you confirm that you are not using a space between the command and website address... for example: correct = site:https://rose.spb.ru incorrect = site: https://rose.spb.ru Using the incorrect method would pull results based on the keywords in the domain name. – Simon Hayter Mar 21 '17 at 17:49
  • @SimonHayter There are no spaces in the search, this happens on at least google.ru, google.co.uk and I added a screenshot which clearly shows the mixed urls in question – Anton B Mar 22 '17 at 4:24
  • This normally happens if have a site accessible on both domains... please edit your question and include your virtual host files for both sites. – Simon Hayter Mar 22 '17 at 10:06
  • Sorry to bother you again but please can you edit your question once more and include the virtual hosts for both port 80 and include DocumentRoot for all virtual hosts. Also I strongly recommend that you don't redirect the 404's to the correct site... a 404 means your site is working since it doesn't exist, by using a redirect 301 you are associating both sites... in Google Search Console, click the 404 and find out where its linked from. – Simon Hayter Mar 22 '17 at 17:30