one possible way (will work for static pages only, i.e. not for archive (web) pages etc.):
– create meta boxes, one for the custom Site Title and Tagline each;
(these boxes will show below the page content editor)
– add filter for the bloginfo which outputs the Site Title and Tagline;
a code example is in https://pastebin.com/n9Xd5uZg
code is to be added into functions.php of your child theme.
not translation ready;
not tested with seo plugins;
will also change the site title and site tagline in the meta description and meta title.
an alternative way could be to edit /template-parts/header/site-branding.php of your child theme and use a lot of ‘if/elseif’ statements based on ‘is_page(‘whatever’) to create different output texts for the site title and tagline, within this section of code:
<div class="site-branding-text">
<?php if ( is_front_page() ) : ?>
<h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1>
<?php else : ?>
<p class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></p>
<?php endif; ?>
<?php
$description = get_bloginfo( 'description', 'display' );
if ( $description || is_customize_preview() ) :
?>
<p class="site-description"><?php echo $description; ?></p>
<?php endif; ?>
</div><!-- .site-branding-text -->