Part 1:
Make option to remove the existing default canonical reference to the original node page of the article so that additional pages may contain their own stand alone seo value

Part 2:
Provide for the custom meta description and keywords of each additional smart paging url

Part 3:
Add words to additional page url

Example:
Output:
PAGE 1 - example.com/topics/health/how-to-eat-healthy
PAGE 2 - example.com/topics/health/how-to-eat-healthy/page/0/1#Breakfast-Facts-for-Nutrition

Comments

arpeggio’s picture

Status:Closed (fixed)» Fixed

I have implemented this feature and already commit/push to GIT.

As for part 1 and 2 we have:
<!--smartpagingmeta {"link_rel_canonical_href":"","meta_name_description_content":"Tips for breakfast facts and nutrition information","meta_name_keywords_content":"breakfast, breakfast nutrition, healthy, healthy eating habits"}-->

Adding this after the <!--pagebreak--> will remove canonical meta, insert meta description and keywords.

As for part 3:
<!--smartpagingurl "Breakfast-Facts-for-Nutrition"-->

Adding this after the <!--pagebreak--> will add Breakfast-Facts-for-Nutrition to the URL of the next page:
Output:
PAGE 1 - example.com/topics/health/how-to-eat-healthy
PAGE 2 - example.com/topics/health/how-to-eat-healthy/page/0/1#Breakfast-Facts-for-Nutrition

For example:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent at laoreet neque. Nunc sit amet ante risus. Proin vitae diam ligula. Integer ut quam lorem. Aenean at justo ac est euismod congue nec at risus.
<!--pagebreak--><!--smartpagingmeta {"link_rel_canonical_href":"","meta_name_description_content":"Tips for breakfast facts and nutrition information","meta_name_keywords_content":"breakfast, breakfast nutrition, healthy, healthy eating habits"}--><!--smartpagingurl "Breakfast-Facts-for-Nutrition"-->
Fusce pellentesque dolor purus, id aliquet lorem. Morbi a lectus erat, eget tincidunt ante. Cras diam justo, congue in posuere non, malesuada eu turpis.

Output:
PAGE 1 - example.com/topics/health/how-to-eat-healthy

<html>
<head></head>
<body>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent at laoreet neque. Nunc sit amet ante risus. Proin vitae diam ligula. Integer ut quam lorem. Aenean at justo ac est euismod congue nec at risus.</p>
</body>
</html>

PAGE 2 - example.com/topics/health/how-to-eat-healthy/page/0/1#Breakfast-Facts-for-Nutrition

<html>
<head>
<meta name="description" content="Tips for breakfast facts and nutrition information">
<meta name="keywords" content="breakfast, breakfast nutrition, healthy, healthy eating habits">
</head>
<body>
<p>Fusce pellentesque dolor purus, id aliquet lorem. Morbi a lectus erat, eget tincidunt ante. Cras diam justo, congue in posuere non, malesuada eu turpis.</p>
</body>
</html>

Please use the 7.x-1.3. Thank you.

Additional details:
The placeholder smartpagingmeta data is json like encoded. As in the example above:
<!--smartpagingmeta {"link_rel_canonical_href":"","meta_name_description_content":"Tips for breakfast facts and nutrition information","meta_name_keywords_content":"breakfast, breakfast nutrition, healthy, healthy eating habits"}-->

The key will be exploded with underscore "_" as delimiter and arrange in following manner:
For key "link_rel_canonical_href":

<?php
$meta
['canonical'] = array(
 
'tag' => 'link',
 
'attr_name' => 'rel',
 
'content_attr' => 'href',
);
?>

For key "meta_name_description_content":

<?php
$meta
['description'] = array(
 
'tag' => 'meta',
 
'attr_name' => 'name',
 
'content_attr' => 'content'
);
?>

For key "meta_name_keywords_content":

<?php
$meta
['keywords'] = array(
 
'tag' => 'meta',
 
'attr_name' => 'name',
 
'content_attr' => 'content',
);
?>

And the value of the key will be included in the array:
For key "link_rel_canonical_href" value:

<?php
$meta
['canonical'] = array(
 
'tag' => 'link',
 
'attr_name' => 'rel',
 
'content_attr' => 'href',
 
'content' => '',
);
?>

For key "meta_name_description_content" value:

<?php
$meta
['description'] = array(
 
'tag' => 'meta',
 
'attr_name' => 'name',
 
'content_attr' => 'content'
  'content'
=> 'Tips for breakfast facts and nutrition information',
);
?>

For key "meta_name_keywords_content" value:

<?php
$meta
['keywords'] = array(
 
'tag' => 'meta',
 
'attr_name' => 'name',
 
'content_attr' => 'content',
 
'content' => 'breakfast, breakfast nutrition, healthy, healthy eating habits',
);
?>

Note: If the value is empty, that meta tag will be removed from the page header as in the case of 'canonical' in our example above, the meta 'canonical' will be removed from the header.

As another example if we want to add this meta data to the header of the split page by Smart IP:
<meta property="dcterms.title" content="Smart Paging content - pp. 1">

... our Smart Paging placeholders should be:
<!--pagebreak--><!--smartpagingmeta {"meta_property_dcterms.title_content":"Smart Paging content - pp. 2"}-->

Status:Active» Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

AlexBert’s picture

How to use a language other than English in the instruction "meta_name_description_content"?
I try to use Russian for description but it does not work.
With English description it works fine.

AlexBert’s picture

Status:Closed (fixed)» Needs review
covenantd’s picture

Status:Needs review» Closed (fixed)

@AlexBert - please open a new issue for this bug with an example of the Russian description used that doesn't work.

arpeggio’s picture

@AlexBert, yes please open new issue. Thanks.

arpeggio’s picture

Status:Fixed» Closed (fixed)

A module that provides very nice UI for this functionality can be found here.