I use below link tag for multiple language, have two question
<link href="http://domain.com/" rel="canonical">
in url http://domain.com/?hl=en
or http://domain.com/?hl=es
?<html lang='en'>
in url http://domain.com/?hl=en
and <html lang='es'>
in http://domain.com/?hl=es
?<head>
<!-- … -->
<link href="http://domain.com/" hreflang="x-default" rel="alternate">
<link href="http://domain.com/?hl=en" hreflang="en" rel="alternate">
<link href="http://domain.com/?hl=es" hreflang="es" rel="alternate">
</head>
Neither, you can use:
<link href="http://domain.com/" rel="canonical"> in http://domain.com/
<link href="http://domain.com/?hl=en" rel="canonical"> in http://domain.com/?hl=en
<link href="http://domain.com/?hl=es" rel="canonical"> in http://domain.com/?hl=es
You can put it in http://domain.com/?hl=en, but not in http://domain.com/?hl=es