Pour un séjour de 3 semaines, je déconseille de partir 3 semaines intégrales à Lanzarote : vous risquez d’avoir très vite fait le tour de l’île. Si les plages ont de l’importance pour vous, je vous conseille plutôt de faire un duo Lanzarote + Fuerteventura. Les deux îles sont côte à côté (30 minutes de traversée en ferry) et les plages au sud de Fuerteventura sont magnifiques. A noter que le côté culturel de Lanzarote avec Manriqué m’a un peu laissé sceptique personellement, et un enfant de 7 ans n’y sera sans doute pas réceptif.
Si votre fils aime les plages, les parcs aquatique, les parc d’attraction en tout genre, Tenerife est clairement la destination idéale faite pour vous avec entre autre le Siam Park (très grand parc aquatique qui vaut le coup) et le Loro Parque (zoo avec shows d’orques, otaries, dauphins…), deux gros parcs d’attraction familiaux incontournables sur l’île. Et il y en a plin d’autres. On peut aussi plus facilement passer trois semaines sur Tenerife graĉe aux nombreux sites de l’île et la multitude d’activité proposée.
Il y a de très nombreux sites magnifiques à voir, facilement accessibles avec un enfant de 7 ans (Masca, Punta De Teno, El Teide…). Si la randonnée n’est pas un problème, le massif de l’Anage est également splendide.
Vu la durée de votre séjour, n’hésitez donc pas à faire 2 îles, ou alors sur Tenerife, de prendre une moitié de séjour dans le nord et une moitié dans le sud. Dans le nord, autour de Puerto de la Cruz c’est très bien et magnifique : il y a en plus les piscines du Lago Martianez splendides pour passer une journée baignade.
Vous pourrez trouver quelques idées de parcours par ici : https://idee-de-sejour.com/2019/01/19/5-a-6-jours-a-tenerife-dans-les-iles-canaries/