переменная $site = null.
такое происходит когда querySelector не нашёл в разметке ничего подходящего.
Либо опечатка в селекторе, либо элемент, который вы через селектор ищите - подгружается диинамически и позже описанного кода, соответтсвенно, на момент его выполнения в разметке такого элемента нет.