Grazie, non mi è chiaro però se è possibile lasciare i soli title alle pagine piuttosto che inserire anche, o al loro posto, gli h1.
A mio parere dovrebbero esserci entrambi; cioè ogni pagina deve possedere sia il tag <title> (che va posto dentro <head>) sia un tag <h1> (dentro <body>), il quale dovrebbe appunto coincidere con ciò che è indicato nel <title>. Ma il discorso andrebbe analizzato anche sotto l'aspetto dell'accessibilità, dove <h1> è importante per gli screen reader, oltre che sotto l'aspetto SEO.

Chiaramente i link ad altre pagine del tuo sito non devi metterli dentro dei tag <h> ma semplicemente inserirli come normali link; se invece lo scopo era quello di dargli uno specifico impatto visivo, puoi applicare opportunamente del CSS.

Riguardo la guida che hai riportato qui, mi pare non aggiornatissima. Infatti, da quel che ho letto in altri articoli, solo da poco google sta dando più priorità a quanto è indicato in <h1> piuttosto che nel <title>. Chiaramente l'algoritmo di google considera tanti altri fattori per la costruzione dei titoli nelle SERP ma non saprei dirti di più perché, ripeto, non sono esperto SEO.

Se poi lo ritieni necessario, puoi trattare l'argomento aprendo specifiche discussioni nella sezione "Motori di Ricerca e Web Marketing", dove eventualmente potrei trovare qualcuno più esperto riguardo questo settore.

Posso giusto consigliarti di leggere altre guide o articoli più recenti, dove si parla appunto delle nuove modifiche apportate da google per le SERP.

Nel primo mio post ho indicato di effettuare delle ricerche con specifici termini ma ho riportato un link errato che correggo qui:

"Altri articoli, guide e documentazioni puoi trovarli con semplici ricerche del tipo: google serp h1"

In questa ricerca puoi trovare, tra i vari, questo interessante articolo che magari chiarisce maggiormente:

Aggiornamento Google: gli H1 sono i nuovi SEO title?




il validatore mi indica:
The element button must not appear as a descendant of the a element.
In parole povere, gli elementi <a> e i <button> sono, per loro natura, due elementi entrambi cliccabili che reagiscono in modo particolare con l'interazione da parte dell'utente. Annidandoli, uno dentro l'altro, potrebbero generarsi dei conflitti; per tale motivo non è valido disporli come hai fatto tu.

Nel tuo caso dovresti eliminare il <button>, lasciando solo il testo dentro il tag <a>.
Se il tuo scopo era quello di attribuire ai link un aspetto grafico come se fossero dei bottoni, questo lo puoi ottenere applicandogli opportunamente del CSS.

Vedi ad esempio questo tutorial:
CSS Basics: Styling Links Like a Boss

Non voglio andare ulteriormente offtopic, ti posto giusto questo link; eventualmente, se hai necessità di aiuto per capire come impostare al meglio ciò che riguarda il CSS, ti invito ad aprire una specifica discussione nella sezione CSS, così da evitare di ingarbugliare gli argomenti in un'unica discussione.