1

We have an HR application that is hosted by the supplier. There are recruiting functionality in it including a publicly available client so people can apply for jobs.

We are iframing this clients content to make it appear as if the list of jobs is on our website.

This prevents it for being crawled as our content, so my question is simply.

Is there a way to register a foreign domain to be crawled and associated with my site?

1

Google will always associate content crawled with the domain from which it originates. Therefore iframe content from another domain would not be associated to your site.

A better solution therefore might be to retrieve the content from your supplier using the link you would have used for your iframe, and then either insert it directly into your page (for example using PHP, but you could achieve the same with any server-side scripting language). Your own company's jobs page might include this code:

<?php
$sJobsListURL = 'http://www.recruiment-company.com/api/iframe.html?id=1234'
$sJobsListHtml = @file_get_contents( $sJobsListURL );
?>
<div class="jobs-list"><?=$sJobsListHtml;?></div>

Or if you found this made your page load time a little slower, you could use an iframe as before but using content cached on your own web-server. Your company's job page would use code such as this to pull in iframe content:

<iframe src="http://www.example.com/iframe-jobslist.php"></iframe>

Or you might use a div element and AJAX:

<div id="jobs-list">loading...</div>
<script type="text/javascript" src="jquery-1.10.2.js"></script>
<script type="text/javascript">
$("#jobs-list").load('http://www.example.com/jobslist.iframe.php');
</script>

and then in your jobslist.iframe.php file:

<?php
$sJobsListURL = 'http://www.recruiment-company.com/api/iframe.html?id=1234';

*/ Use cached copy if retrieved within the last hour */
$sJobsListCache = 'jobslist.cache.html';
$iTimeNow = time();
$iTimeExpires = 60 * 60; /* 60 secs * 60 mins = 1 hr */
if( file_exists( $sJobsListCache )) {
  if(( $iTimeNow - $iTimeExpires ) < filemtime( $sJobsListCache )) {
    echo( @file_get_contents( $sJobsListCache ));
    exit;
  }
}

*/ Acquire new cached copy - has expired (older than 1 hr) or doesn't exist */
$sCacheComment = '<!-- Cached: ' . time() . ' -->';
$sJobsListHtml = @file_get_contents( $sJobsListURL );
if( strlen( $sJobsListHtml ) > 0 ) {
  @file_put_contents( $sJobsListCache, $sJobsListHtml . $sCacheComment );
  echo( $sJobsListHtml );
  exit;
}

/* Recruitment Company Website not working - revert to cache after all */
if( file_exists( $sJobsListCache )) echo( @file_get_contents( $sJobsListCache ));
?>

I prefer the second solution as it also caters for the eventuality of the recruitment company's website not working.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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