(Problema) los pines siempre encendidos, y no se apagan

Hola buenas, soy nuevo en el mundo de Arduino, y recientemente, adquirí un Shield Eterneth para controlar un led por medio de internet, lo que pasa que al programar la placa, y subir el programa, el pin 13(al cual esta conectado el led) y algunos otros pines No referenciados están como si los hubiera declarado HIGH, y al intentar apagar el led no me permite hacerlo, intente dejarlo LOW en el setup y el loop pero nada, y lo que me parece aun mas extraño, es ¿porque pines que no eh declarado están activos?, aquí les adjunto el código para ver si me pueden ayudar.

/* Control Arduino Ethernet*/

#include <SPI.h>
#include <Ethernet.h>
#include <Servo.h> 

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };   //Direccion Fisica MAC
byte ip[] = { 192, 168, 1, 50 };                       // IP Local que usted debe configurar 
byte gateway[] = { 192, 168, 1, 1 };                   // Puerta de enlace
byte subnet[] = { 255, 255, 255, 0 };                  //Mascara de Sub Red
EthernetServer server(80);                             //Se usa el puerto 80 del servidor     
String readString;

void setup() {

 // Serial.begin(9600);  // Inicializa el puerto serial 
   //while (!Serial) {   // Espera a que el puerto serial sea conectado, Solo necesario para el Leonardo
     
  //}
  pinMode(13,OUTPUT);        // Se configura como salidas los puertos del 2 al 6
 
  Ethernet.begin(mac, ip, gateway, subnet); // Inicializa la conexion Ethernet y el servidor
  server.begin();
  Serial.print("El Servidor es: ");
  Serial.println(Ethernet.localIP());    // Imprime la direccion IP Local
}


void loop() {
  // Crea una conexion Cliente
  EthernetClient client = server.available();
  if (client) {
    while (client.connected()) {   
      if (client.available()) {
        char c = client.read();
     
        //Lee caracter por caracter HTTP
        if (readString.length() < 100) {
          //Almacena los caracteres a un String
          readString += c;
          
         }

         // si el requerimiento HTTP fue finalizado
         if (c == '\n') {          
           Serial.println(readString); //Imprime en el monitor serial
     
           client.println("HTTP/1.1 200 OK");           //envia una nueva pagina en codigo HTML
           client.println("Content-Type: text/html");
           client.println();     
           client.println("<HTML>");
           client.println("<HEAD>");
           client.println("<TITLE>Ethernet Arduino</TITLE>");
           client.println("</HEAD>");
           client.println("<BODY>");
           client.println("<hr />");
           client.println("<H1>Arduino Ethernet Shield</H1>");
           client.println("
");  
           client.println("<H2>Control on/off 2-6  Servo 7</H2>");
           client.println("
");  
           
           client.println("<a href=\"/?button2on\"\"> Encender Pin2</a> ");           // construye en la pagina cada uno de los botones
           client.println(" | | | ");
           client.println("<a href=\"/?button2off\"\"> Apagar Pin2</a>
 ");   
           client.println("
");           
           
           client.println("
"); 
           //client.println("<a href=\"/?left\"\">Girar  Izq Pin7</a>");
           //client.println(" | | | ");
           //client.println("<a href=\"/?right\"\">Girar Der Pin7</a>
"); 
           client.println("<hr />");
           client.println("
"); 
           client.println("</BODY>");
           client.println("</HTML>");
     
           delay(1);
           //detiene el cliente servidor
           client.stop();
           
           //control del arduino si un boton es presionado
                   
           if (readString.indexOf("?butto2on") >0){
               digitalWrite(13, HIGH);
           }
           if (readString.indexOf("?button2off") >0){
               digitalWrite(13, LOW);
           }
           
            // Limpia el String(Cadena de Caracteres para una nueva lectura
            readString="";  
           
         }
       }
    }
}
}

Has comparado la salida Serie con lo que comparas en las lineas

 if (readString.indexOf("?butto2on") >0){
               digitalWrite(13, HIGH);
           }
           if (readString.indexOf("?button2off") >0){
               digitalWrite(13, LOW);
           }

Tu error esta aca... defines button2on y comparas butto2on